如何解决为Intellij内部的AWS CodeArtifact集成禁用Maven密码加密
我们正在尝试将Maven与AWS' CodeArtifact集成。
我相信我们已经正确遵循了“ Use CodeArtifact with mvn”的指导。
但是,当我尝试从Intellij内部执行mvn clean compile
时,会出现以下异常:
[DEBUG] Failed to decrypt password for server codeartifact: org.sonatype.plexus.components.sec.dispatcher.SecdispatcherException: java.io.FileNotFoundException: /Users/hooknc/.m2/settings-security.xml (No such file or directory)
org.sonatype.plexus.components.sec.dispatcher.SecdispatcherException: org.sonatype.plexus.components.sec.dispatcher.SecdispatcherException: java.io.FileNotFoundException: /Users/nhook/.m2/settings-security.xml (No such file or directory)
at org.sonatype.plexus.components.sec.dispatcher.DefaultSecdispatcher.decrypt (DefaultSecdispatcher.java:121)
at org.apache.maven.settings.crypto.DefaultSettingsDecrypter.decrypt (DefaultSettingsDecrypter.java:114)
at org.apache.maven.settings.crypto.DefaultSettingsDecrypter.decrypt (DefaultSettingsDecrypter.java:70)
at org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory.newRepositorySession (DefaultRepositorySystemSessionFactory.java:167)
at org.apache.maven.DefaultMaven.newRepositorySession (DefaultMaven.java:350)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:185)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
Caused by: org.sonatype.plexus.components.sec.dispatcher.SecdispatcherException: java.io.FileNotFoundException: /Users/hooknc/.m2/settings-security.xml (No such file or directory)
at org.sonatype.plexus.components.sec.dispatcher.SecUtil.read (SecUtil.java:69)
at org.sonatype.plexus.components.sec.dispatcher.DefaultSecdispatcher.getSec (DefaultSecdispatcher.java:206)
at org.sonatype.plexus.components.sec.dispatcher.DefaultSecdispatcher.decrypt (DefaultSecdispatcher.java:90)
at org.apache.maven.settings.crypto.DefaultSettingsDecrypter.decrypt (DefaultSettingsDecrypter.java:114)
at org.apache.maven.settings.crypto.DefaultSettingsDecrypter.decrypt (DefaultSettingsDecrypter.java:70)
at org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory.newRepositorySession (DefaultRepositorySystemSessionFactory.java:167)
at org.apache.maven.DefaultMaven.newRepositorySession (DefaultMaven.java:350)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:185)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
Caused by: java.io.FileNotFoundException: /Users/hooknc/.m2/settings-security.xml (No such file or directory)
at java.io.FileInputStream.open0 (Native Method)
at java.io.FileInputStream.open (FileInputStream.java:195)
at java.io.FileInputStream.<init> (FileInputStream.java:138)
at org.sonatype.plexus.components.sec.dispatcher.SecUtil.toStream (SecUtil.java:100)
at org.sonatype.plexus.components.sec.dispatcher.SecUtil.read (SecUtil.java:56)
at org.sonatype.plexus.components.sec.dispatcher.DefaultSecdispatcher.getSec (DefaultSecdispatcher.java:206)
at org.sonatype.plexus.components.sec.dispatcher.DefaultSecdispatcher.decrypt (DefaultSecdispatcher.java:90)
at org.apache.maven.settings.crypto.DefaultSettingsDecrypter.decrypt (DefaultSettingsDecrypter.java:114)
at org.apache.maven.settings.crypto.DefaultSettingsDecrypter.decrypt (DefaultSettingsDecrypter.java:70)
at org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory.newRepositorySession (DefaultRepositorySystemSessionFactory.java:167)
at org.apache.maven.DefaultMaven.newRepositorySession (DefaultMaven.java:350)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:185)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
最终原因是Caused by: java.io.FileNotFoundException: /Users/hooknc/.m2/settings-security.xml (No such file or directory)
这是settings.xml
中存储的~/.m2/
文件的内容:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository/>
<interactiveMode/>
<offline/>
<pluginGroups/>
<servers>
<server>
<id>codeartifact</id>
<username>aws</username>
<password>${env.CODEARTIFACT_AUTH_TOKEN}</password>
</server>
</servers>
<mirrors>
<mirror>
<id>codeartifact</id>
<name>domain--repository</name>
<url>https://domain-<secret_number>.d.codeartifact.us-west-2.amazonaws.com/maven/repository/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<proxies/>
<profiles>
<profile>
<id>codeartifact</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>codeartifact</id>
<url>https://domain-<secret_number>.d.codeartifact.us-west-2.amazonaws.com/maven/repository/</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles/>
</settings>
然后我们运行AWS命令以获取令牌来访问CodeArtifact:
export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --profile hooknc --domain domain --domain-owner <secret_number> --query authorizationToken --output text`
应设置环境变量CODEARTIFACT_AUTH_TOKEN
,该变量应由settings.xml值${env.CODEARTIFACT_AUTH_TOKEN}
拾取
所以,我的问题是,在使用Intillij时如何禁用Maven的密码加密功能?
谢谢您的时间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。