我正在尝试使用maven创建一个spring mvc项目并在pom.xml中获取以下错误:
CoreException:无法计算构建计划:插件org.apache.maven.plugins:maven-compiler-plugin:2.3.2或其中一个依赖项无法解析:无法读取org.apache.maven.plugins的工件描述符: maven-compiler-plugin:jar:2.3.2:ArtifactResolutionException:无法从http:// repo.maven.apache.org/maven2转移org.apache.maven.plugins:maven-compiler-plugin:pom:2.3.2缓存在本地存储库中,在中心的更新间隔过去或强制更新之前,不会重新尝试解析.原始错误:无法传输工件org.apache.maven.plugins:maven-compiler-plugin:pom:2.3.2 from/to central(http:// repo.maven.apache.org/maven2):连接被拒绝:否进一步的信息http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.pom
它与代理还是防火墙有关?我该怎么办才能修复它?
我在这个版本的Java上使用Maven 3.2.3
davea$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
我跑的时候
mvn clean install
Run Code Online (Sandbox Code Playgroud)
我在集成测试中遇到如下错误...
testFindSampleUsersByCodeAscByDefault(org.mainco.subco.user.service.SampleUserService2IT) Time elapsed: 2.204 sec <<< ERROR!
java.lang.VerifyError: Expecting a stackmap frame at branch target 57
Exception Details:
Location:
org/mainco/subco/user/service/SampleUserServiceImpl$ValueComparator.compare(Lorg/mainco/subco/user/domain/User;Lorg/mainco/subco/user/domain/User;)I @10: ifnull
Reason:
Expected stackmap frame at this location.
Bytecode:
0x0000000: 2ab4 001b 2bb9 002e 0200 c600 2f2a b400
0x0000010: 1b2b b900 2e02 00c0 0030 b600 34c6 001c
0x0000020: 2ab4 001b 2bb9 002e 0200 c000 30b6 0034
0x0000030: b600 39b6 003e a700 0512 404e 2ab4 001b
0x0000040: 2cb9 002e …Run Code Online (Sandbox Code Playgroud) verifyerror java-8 maven-failsafe-plugin maven-compiler-plugin
也许有一个maven-compiler-plugin选择,但我没有找到它.
当javac直接运行并打印错误时,在消息的第一行之后,它会在指向错误位置的下一行显示受影响的源代码行.它看起来像这样:
com/invariantproperties/udt/sql/RationalUDT.java:324: error: cannot find symbol
public static boolean lessThan(RRationalUDT p, double q) {
^
symbol: class RRationalUDT
location: class RationalUDT
Run Code Online (Sandbox Code Playgroud)
注意直接指向我拼写错误类型名称的行.它maven-compiler-plugin显示如下:
[ERROR] /var/tmp/pljava-udt-type-extension/java/src/main/java/com/invariantproperties/udt/sql/RationalUDT.java:[324,36] cannot find symbol
symbol: class RRationalUDT
location: class com.invariantproperties.udt.sql.RationalUDT
Run Code Online (Sandbox Code Playgroud)
注意它摆脱了实际指向错误的行.(这是使用Oracle JDK 7.)
好的,所以起初我认为这个较旧的问题会得到答案,因为它也maven-compiler-plugin没有显示整个错误消息,并且说修复程序是更新到maven-compiler-plugin3.1版.
但是对于这个问题,我尝试了2.4,3.1和3.5而没有任何改进.显示错误的行总是丢失.
这适用于任何javac错误.在示例中,我拼错了一个符号,只是为了得到与旧问题所讨论的相同的错误.但我可以修复那个并制作另一个(这个来自javac注释处理器):
com/invariantproperties/udt/sql/RationalUDT.java:324: error: No known mapping to an SQL type
public static boolean lessThan(RationalUDT p, double q) {
^ …Run Code Online (Sandbox Code Playgroud) 我有:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Run Code Online (Sandbox Code Playgroud)
然而我宣布:
public enum DirectoryWatchService {
INSTANCE;
private java.util.Optional<String> test;
private java.nio.file.Files files;
}
Run Code Online (Sandbox Code Playgroud)
Eclipse没有打扰.IntelliJ也不是.即使是Maven也不会打扰.我甚至可以做一个mvn清洁包.在没有任何警告的情况下构建糟糕的东西.
我目前正在测试将现有应用程序迁移到Jigsaw Modules.我的一个模块使用ElasticSearch及其Groovy插件.
不幸的是,他们共享一个拆分包,所以mvn install给我:
x从lang.groovy和elasticsearch读取包org.elasticsearch.script.groovy
对于描述符中的每个必需模块,其中x是每个模块的名称.
我假设一个较新的elasticsearch版本将在Java 9最终版本的时候取消拆分包,但是通常有一种方法来处理遗留依赖项中的拆分包吗?
我希望能够在类路径而不是模块路径上有那些,但是在邮件列表上阅读这个对话后,似乎没有办法告诉Maven编译器这样做.
maven 3.3.9 - maven-compiler-plugin 3.6.0 - jdk9-ea + 149 - elasticsearch 2.3.3
maven java-platform-module-system maven-compiler-plugin java-9
我在项目中的Maven中有一个根模块和子模块。我正在尝试使用龙目岛。我已经添加了
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
根pom.xml。在子模块中,我有一个带有Lombok批注的类。当我尝试建立项目时,我得到了很多
找不到标志
我试图在这里打电话给getters和setters。
我试图在根pom和子pom中使用具有相同版本(1.16.12)的lombok -maven-plugin,以及delombok,并将带注释的类移至src / main / lombok,我已经遍历了几乎所有问题因此,请尝试所有变体,但不会成功。
我正在使用3.6.1版本的Maven 3,Java 8,maven-compiler-plugin。
我应该如何配置项目以使用lombok?也许我做错了什么。
当maven-compiler-plugin:3.8.0:testCompile @ foo-child运行时,线程转储显示容易出错正在一个非常长的时间。我相信有一个容易出错的错误,但是现在我宁愿不要在单元测试上运行容易出错的错误。
我有一个父pom.xml:
<modules>
<module>foo-child</module>
</modules>
<dependencyManagement>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
</dependency>
// also has dependency for io.norberg auto-matter and com.google.auto.value auto-value
</dependencyManagement>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
// also has annotationProcessorPaths configuration for auto-matter and auto-value
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
有什么我可以放入foo-child pom.xml中的内容,它可以让我完全排除maven-compiler-plugin:3.8.0:testCompile @ foo-child在运行之外。
我不能完全排除容易出错的原因,因为番石榴之类的其他东西都取决于它。
编辑:好像这个用户正在尝试解决相同的问题。您知道如何将那里提供的解决方案应用于我的案件吗?
我的系统上安装了JDK 1.6和1.7(Linux,在/ opt目录下).我在我的路径中添加了JDK 1.6的bin目录,因此这是默认情况下使用的Java版本.
我正在开发一个需要JDK 1.7的项目和一些需要1.6的项目.以前我在Eclipse中设置了JDK 1.7设置,但是我想将这个项目转换为Maven,这样每个人都可以使用他们喜欢的编辑器.
是否可以在Maven安装/配置(而不是POM文件)中指定1.7位置,以便默认情况下使用1.6,而在POM中指定项目时需要1.7?据我所知,每个从事项目的人都应该在他们的POM文件中有相同的内容,所以我不愿意在这里设置Java 7目录的位置(因为它在每个人的机器上都会有所不同).
$ mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 13:51:28+0000)
Maven home: /opt/apache-maven-3.0.5
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: /opt/jdk1.6.0_45/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "3.8.0-27-generic", arch: "amd64", family: "unix"
Run Code Online (Sandbox Code Playgroud)
添加以下内容:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<outputDirectory>${project.build.outputDirectory}/resources</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
结果是:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project golemlite: Fatal …Run Code Online (Sandbox Code Playgroud) 我在Mac 10.9.5上使用Maven 3.2.3并将其用于我的编译器插件...
<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>
<compilerArgument>-proc:none</compilerArgument>
<fork>true</fork>
<!-- <compilerId>eclipse</compilerId>-->
</configuration>
<executions>
<execution>
<id>default-testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我有我的surefire-plugin配置...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<reuseForks>true</reuseForks>
<argLine>-Xmx2048m -XX:MaxPermSize=512M -XX:-UseSplitVerifier ${argLine}</argLine>
<skipTests>${skipAllTests}</skipTests>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
但是,在运行"mvn clean install"时,我收到此警告......
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option UseSplitVerifier; support was removed in 8.0
Run Code Online (Sandbox Code Playgroud)
什么是Java 8等效的"UseSplitVerifier"?
我使用org.openjfx:javafx-archetype-simpleMaven 原型启动了我的第一个 JavaFX 项目。
生成的 POM:
\n\n<project xmlns = "http://maven.apache.org/POM/4.0.0"\n xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"\n xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\n <modelVersion>4.0.0</modelVersion>\n <groupId>com.example.invoicing</groupId>\n <artifactId>Invoicer</artifactId>\n <version>1.0-SNAPSHOT</version>\n <properties>\n <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\n <maven.compiler.source>14</maven.compiler.source>\n <maven.compiler.target>14</maven.compiler.target>\n </properties>\n <dependencies>\n <dependency>\n <groupId>org.openjfx</groupId>\n <artifactId>javafx-controls</artifactId>\n <version>14</version>\n </dependency>\n </dependencies>\n <build>\n <plugins>\n <plugin>\n <groupId>org.apache.maven.plugins</groupId>\n <artifactId>maven-compiler-plugin</artifactId>\n <version>3.8.1</version>\n <configuration>\n <release>14</release> ???\n </configuration>\n </plugin>\n <plugin>\n <groupId>org.openjfx</groupId>\n <artifactId>javafx-maven-plugin</artifactId>\n <version>0.0.4</version>\n <configuration>\n <mainClass>com.example.invoicing.App</mainClass>\n </configuration>\n </plugin>\n </plugins>\n </build>\n</project>\nRun Code Online (Sandbox Code Playgroud)\n\n\xe2\x9e\xa5插件的<release>14</release>行的目的是什么?<configuration><artifactId>maven-compiler-plugin</artifactId>
我找到了 Maven 编译器插件的文档Compiling Your Java Sources。但它只提到<!-- put your configurations here -->。所以我对这里的具体配置选项一无所知。 …
maven ×7
java ×5
java-8 ×2
eclipse ×1
errorprone ×1
java-9 ×1
java-platform-module-system ×1
javafx ×1
lombok ×1
maven-3 ×1
openjfx ×1
pom.xml ×1
verifyerror ×1
warnings ×1