java - eclipse maven deploy war to nexus OSS Acces

我想从eclipse中的maven上传部署的war文件到nexus OSS,但是我得到一个错误信息。

Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xxx: Failed to deploy artifacts: Could not transfer artifact com.xxx.xxx:xxx:war:5.2.0 from/to nexus (http://xxx.xxx.xxx.xxx:8081/repository/maven-releases/): Access denied to http://xxx.xxx.xxx.xxx:8081/repository/maven-releases/com/xxx/xxx/xxx/5.2.0/xxx-5.2.0.war. Error code 401, Unauthorized -> [Help 1]

使用相同的配置(pom.xmlsettings.xml)我部署了一个 jar 文件并且它可以工作。

两者的区别在于文件类型和文件大小。 一个是80mb的war文件,一个是400kb的jar文件。

有没有人有想法,如何解决这个问题?有没有配置,我想念的那些?这不是 1 周前发生的。我什么都不改,只把2019年的eclipse版本更新到2020年。

谢谢

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xxx: Failed to deploy artifacts: Could not transfer artifact com.xxx.xxx:xxx:war:5.2.0 from/to nexus (http://192.168.xxx.xxx:8081/repository/maven-releases/): Access denied to http://192.168.xxx.xxx:8081/repository/maven-releases/com/xxx/xxx/xxx/5.2.0/xxx-5.2.0.war. Error code 401, Unauthorized
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
    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)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to deploy artifacts: Could not transfer artifact com.xxx.xxx:xxx:war:5.2.0 from/to nexus (http://192.168.xxx.xxx:8081/repository/maven-releases/): Access denied to http://192.168.xxx.xxx:8081/repository/maven-releases/com/xxx/xxx/xxx/5.2.0/xxx-5.2.0.war. Error code 401, Unauthorized
    at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:193)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
    ... 20 more
Caused by: org.apache.maven.artifact.deployer.ArtifactDeploymentException: Failed to deploy artifacts: Could not transfer artifact com.xxx.xxx:xxx:war:5.2.0 from/to nexus (http://192.168.xxx.xxx:8081/repository/maven-releases/): Access denied to http://192.168.xxx.xxx:8081/repository/maven-releases/com/xxx/xxx/xxx/5.2.0/xxx-5.2.0.war. Error code 401, Unauthorized
    at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:146)
    at org.apache.maven.plugin.deploy.AbstractDeployMojo.deploy(AbstractDeployMojo.java:167)
    at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:157)
    ... 22 more
Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could not transfer artifact com.xxx.xxx:xxx:war:5.2.0 from/to nexus (http://192.168.xxx.xxx:8081/repository/maven-releases/): Access denied to http://192.168.xxx.xxx:8081/repository/maven-releases/com/xxx/xxx/xxx/5.2.0/xxx-5.2.0.war. Error code 401, Unauthorized
    at org.eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.java:301)
    at org.eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.java:213)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.deploy(DefaultRepositorySystem.java:386)
    at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:142)
    ... 24 more
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact com.xxx.xxx:xxx:war:5.2.0 from/to nexus (http://192.168.xxx.xxx:8081/repository/maven-releases/): Access denied to http://192.168.xxx.xxx:8081/repository/maven-releases/com/xxx/xxx/xxx/5.2.0/xxx-5.2.0.war. Error code 401, Unauthorized
    at io.takari.aether.connector.AetherRepositoryConnector$2.wrap(AetherRepositoryConnector.java:889)
    at io.takari.aether.connector.AetherRepositoryConnector$2.wrap(AetherRepositoryConnector.java:1)
    at io.takari.aether.connector.AetherRepositoryConnector$PutTask.flush(AetherRepositoryConnector.java:732)
    at io.takari.aether.connector.AetherRepositoryConnector.put(AetherRepositoryConnector.java:373)
    at org.eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.java:295)
    ... 27 more
Caused by: io.takari.aether.connector.AuthorizationException: Access denied to http://192.168.xxx.xxx:8081/repository/maven-releases/com/xxx/xxx/xxx/5.2.0/xxx-5.2.0.war. Error code 401, Unauthorized
    at io.takari.aether.connector.AetherRepositoryConnector.handleResponseCode(AetherRepositoryConnector.java:397)
    at io.takari.aether.connector.AetherRepositoryConnector.access$8(AetherRepositoryConnector.java:391)
    at io.takari.aether.connector.AetherRepositoryConnector$PutTask.run(AetherRepositoryConnector.java:703)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.xxx.xxx</groupId>
    <artifactId>xxxxxx</artifactId>
    <packaging>war</packaging>
    <version>1.0.0</version>
    <name>xxx xxx Maven Webapp</name>
    <url>http://maven.apache.org</url>

    <distributionManagement>
        <repository>
            <id>nexus</id>
            <url>http://192.xxx.xxx.xxx:8081/repository/maven-releases/</url>
        </repository>
    </distributionManagement>

    <repositories>
        <repository>
            <id>nexus</id>
            <name>Nexus OSS Internal Repository</name>
            <url>http://192.xxx.xxx.xxx:8081/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>nexus</id>
            <name>Nexus OSS Internal Repository</name>
            <url>http://192.xxx.xxx.xxx:8081/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

    <properties>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <java.version>1.8</java.version>

        <maven.test.skip>true</maven.test.skip>
    </properties>

    <dependencies>

    </dependencies>

    <build>

        <finalName>${project.artifactId}-${project.version}</finalName>
        <defaultGoal>deploy</defaultGoal>

        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>

    </build>

</project>

设置.xml

    <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 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <localRepository>Z:/maven/repository</localRepository>

  <pluginGroups>
  </pluginGroups>
  <proxies>
  </proxies>

  <servers>
    <server>
      <id>nexus</id>
      <username>user</username>
      <password>password</password>
    </server>
  </servers>

  <mirrors>
  </mirrors>

  <profiles>
  </profiles>

</settings>

最佳答案

我遇到了同样的问题,并且困惑了好几个星期。我发现这个问题是从 Eclipse 版本 202003 开始​​出现的。使用与 V201912 相同的配置或仅使用 CMD 部署就可以了。

我觉得是eclipse内嵌Maven的问题;

  • 在 V201912 中是 3.6.3/1.14.0.20191209-1923
  • 在 V202006 中是 3.6.3/1.16.0.20200610-1735。

在 V202006 中更改为使用最近的外部 Maven Artifact 3.6.3 是可以的。因此,由于我有几十个工作区,所以我现在只能使用 V201912。

eclipse-202009需要java11,不再支持java8,所以,我们就永远忍受这个问题吧?

关于java - eclipse maven deploy war to nexus OSS Access denied Error code 401, Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61536737/

相关文章:

reactjs - 是否有任何函数可以在 react-final-form 中获取表单值

amazon-web-services - 通过 HTTPS 提供静态 S3 网站时降低 Cloud

angular - 不同的路线,相同的组件 - 为什么组件不在路线更改时重新加载?

javascript - 我如何将所选项目从 React Native Paper Menu 传递到

ruby-on-rails - 如何在 Ruby on Rails 6 中将 rich_text_a

javascript - 如何在 React Native 中更改数组键名称

python - 删除子列表重复项,包括反向

amazon-web-services - AWS : Passing Job parameters

svelte - 如何替换 Svelte 中目标的内容而不是附加到子项?

node.js - Yarn workspaces——包别名