添加工件后,SBT不会将授权标头发送给Nexus

问题描述

我在Scala中有一个项目,其中我使用import Root from "./Root"; import Student from "./Student"; import Tution from "./Tution"; export const createNavigation = props => createAppContainer( createStackNavigator( { Root: { // We have to use a little wrapper because React Navigation doesn't pass simple props (and withObservables needs that) screen: ({ navigation }) => { const { database } = props; return <Root database={database} navigation={navigation} />; },navigationoptions: { title: "Students" } },Student: { screen: ({ navigation }) => ( <Student student={navigation.state.params.student} navigation={navigation} /> ),navigationoptions: ({ navigation }) => ({ StudentName: navigation.state.params.student.StudentName }) },NewStudent: { screen: ({ navigation }) => { const { database } = props; return <Tution database={database} navigation={navigation} />; },navigationoptions: { title: "New Student" } },EditStudent: { screen: ({ navigation }) => { return ( <StudentForm student={navigation.state.params.student} navigation={navigation} /> ); },navigationoptions: ({ navigation }) => ({ title: `Edit "${navigation.state.params.student.StudentName}"` }) } },{ initialRouteName: "Root",initialRouteParams: props } ) ); 插件构建了一个胖子罐。工件的配置和添加如下:

sbt-assembly

还有Nexus信息库及其凭据的设置。它失败。我用Wireshark嗅探了数据包,结果发现SBT没有将授权标头发送给Nexus。

我可以手动上传胖子罐,例如来自邮递员,并且有效。

当我删除artifact in (Compile,assembly) := { val art = (artifact in (Compile,assembly)).value art.withClassifier(Some("assembly")) } addArtifact(artifact in (Compile,assembly),assembly) 设置时,它也起作用。

当它起作用时,授权标头就在那里(通过Wireshark检查)。但是添加了工件后,它就消失了。

SBT版本:1.4.1(但我也尝试过1.4.0和1.3.14)

编辑:

这是github上的一个仓库,您可以在其中观察到这种行为:https://github.com/amorfis/sbt-assembly-publish-error

必须在addArtifact...

中输入Nexus地址和凭据

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)