微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决添加工件后,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 举报,一经查实,本站将立刻删除。