我尝试使用NetBeans构建JavaFX项目,但在运行它时出现了以下情况:
Plugin org.codehaus.mojo:exec-maven-plugin:1.2.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.codehaus.mojo:exec-maven-plugin:jar:1.2.1: Could not transfer artifact org.codehaus.mojo:exec-maven-plugin:pom:1.2.1 from/to HTTP (http://repo.maven.apache.org/maven2): Access denied to: http://repo.maven.apache.org/maven2/org/codehaus/mojo/exec-maven-plugin/1.2.1/exec-maven-plugin-1.2.1.pom , ReasonPhrase:Forbidden. -> [Help 1]
我在代理后面工作,但我用我的代理配置了Netbeans,我尝试了“测试连接”,这是工作。
我还使用此代理配置了“.m2/settings.xml”目录
<?xml version="1.0" encoding="UTF-8"?> <settings> <proxies>
<proxy>
<active />
<protocol>http</protocol>
<username>username</username>
<password>password</password>
<port>8080</port>
<host>proxyhost</host>
<id/>
</proxy> </proxies>
<mirrors>
<mirror>
<id>HTTP</id>
<name>HTTP Central</name>
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror> </mirrors> </settings>
我的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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.bega</groupId>
<artifactId>Chronos</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Chronos</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mainClass>com.bega.chronos.MainApp</mainClass>
</properties>
<organization>
<!-- Used as the 'Vendor' for JNLP generation -->
<name>Your Organisation</name>
</organization>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<excludeScope>system</excludeScope>
<excludeGroupIds>junit,org.mockito,org.hamcrest</excludeGroupIds>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${java.home}/../bin/javafxpackager</executable>
<arguments>
<argument>-createjar</argument>
<argument>-nocss2bin</argument>
<argument>-appclass</argument>
<argument>${mainClass}</argument>
<argument>-srcdir</argument>
<argument>${project.build.directory}/classes</argument>
<argument>-outdir</argument>
<argument>${project.build.directory}</argument>
<argument>-outfile</argument>
<argument>${project.build.finalName}.jar</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>default-cli</id>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${java.home}/bin/java</executable>
<commandlineArgs>${runfx.args}</commandlineArgs>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<bootclasspath>${sun.boot.class.path}${path.separator}${java.home}/lib/jfxrt.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>${java.home}/lib/jfxrt.jar</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>de.jensd</groupId>
<artifactId>fontawesomefx</artifactId>
<version>8.9</version>
</dependency>
</dependencies>
</project>
有人知道为什么不管用吗?
8条答案
按热度按时间vm0i2vca1#
我假设仓库服务器是临时不能正常工作的。至少我能够下载错误信息中提到的文件。
不幸的是,Maven缓存了未发现的错误。关于重置缓存状态和强制重新下载,在SO上有很多问题。
恕我直言,最简单的方法是从本地Maven存储库中删除有问题工件的所有数据,该存储库位于用户主目录的子目录
.m2/repository
中。打开
.m2/repository
并转到路径org/codehaus/mojo/exec-maven-plugin/
。在那里删除子目录1.2.1
和所有包含的文件。Maven将在下次需要它们时自动下载它们。b5buobof2#
有时候就是关于同步
只需单击按钮刷新,问题就解决了
vcirk6k63#
对我来说,我等了几分钟,又试了一次
mvn package
命令,它成功了。似乎偶尔会宕机,出于某种原因。enxuqcxy4#
转到本地Maven存储库,删除相应的文件夹。以D:\MAVENrepo\org\codehaus\mojo\exec-maven-plugin\1.2.1的形式,使用
Alt+f5
更新Maven项目。q35jwt9p5#
打开
C:\Users\your user\\.m2\repository\org\codehaus\mojo\exec-maven-plugin
,在其中删除子目录1.2.1
,如果maven没有自动下载它,可以使用以下命令:d6kp6zgx6#
好吧,我得到了同样的错误,所以我把这个放在这里只是为了它有人有同样的问题。使用wagon插件:依赖版本得到了一个额外的数字为2.0.0我的版本被设置为2.0和这个错误弹出(y ofc还有什么d 'uh)
此外,为了将来的参考,他们可能会改变reponame从codehaus到mojohaus(截至目前仍然是旧的reponame)。希望这对某人有帮助!
igsr9ssn7#
从netbeans访问***https://repo.maven.apache.org/maven2/org/codehaus/mojo/exec-maven-plugin/1.2.1/exec-maven-plugin-1.2.1.pom***时生成失败
我从浏览器访问了URL,然后它显示网络错误。再次刷新URL,它加载了对浏览器的响应,我重建并运行它,加载了项目,没有以前的问题
似乎是网络错误或netbeans的网络代理失败。
目前已解决
bweufnob8#
正如您在堆栈跟踪中看到的,问题是http://repo.maven.apache.org/maven2/org/codehaus/mojo/exec-maven-plugin/1.2.1/exec-maven-plugin-1.2.1.pom被禁止,可能是因为它是HTTP而不是HTTPS,并且您的代理阻止了不安全的连接。(您可以在浏览器中测试它)。使用较新版本的Netbeans,他们修复了它应该默认使用HTTPS,请参见Maven dependencies are failing with a 501 error。对我来说,它修复了这个问题。