更新: 这是我的maven-compiler-plugin配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
我使用Maven构建一个多项目应用程序。我们决定添加AspectJ,因此我pom.xml
在顶级项目中添加了以下代码:(来自官方文档)
<project>
...
<dependencies>
...
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.7.3</version>
</dependency>
...
</dependencies>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<goals>
<goal>compile</goal> <!-- use this goal to weave all your main classes -->
<goal>test-compile</goal> <!-- use this goal to weave all your test classes -->
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
<build>
...
</project>
以及每个下属项目的以下片段:
</project>
...
<build>
....
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
...
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
....
</dependencies>
...
</project>
某种程度上,此修改已覆盖了我使用的Java版本。如果我运行构建,则会收到多个错误,如下所示:
语法错误,仅当源级别为1.5或更高时,注释才可用
这使我怀疑我的Java版本(最初为1.6)已以某种方式还原为1.4。我没有做任何事情-至少是无意的-
可能会影响Java版本,因此我怀疑上面提到的与AspectJ相关的代码是造成更改的原因。
我的问题是AspectJ如何更改Java版本以及如何解决此问题。还是我完全误解了某些东西,我走错了路?
我认为问题出在 aspectj-maven-plugin 的默认source,target和ComplianceLevel设置(根据之前链接的文档,分别为1.4、1.2和1.4)。您应该在父pom中明确设置这些: __
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.5</version>
<!-- new configuration is here -->
<configuration>
<complianceLevel>1.6</complianceLevel>
<source>1.6</source>
<target>1.6</target>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
<build>
问题内容: 我像这样将JBoss Maven存储库添加到我的pom.xml文件中… 我像这样添加了Hibernate本身… 但是,当我尝试构建我的应用程序时,会看到此错误…。 问题答案: 正如Seanizer所提到的,工件是一种类型的聚合模块(它聚合HibernateCore模块)。因此,您确实可以通过指定来依赖它。但是我个人会声明对所需模块的依赖,例如对于HibernateEntity Mana
问题内容: 我正在使用Eclipse作为IDE。当我右键单击该项目,然后单击maven update时,我的Java版本更改为1.5。这是我到目前为止所做的,我遵循了此处列出的所有步骤 http://qussay.com/2013/09/13/solving-dynamic-web-module-3-0-requires- java-1-6-or-newer-in-maven-projects/
我将“Java构建路径”更改为“Workspace default jre 1.8.0_25” 然后将“Java编译器”更改为1.8 然后更改了“项目方面”>Java>1.8 将pom.xml java版本更改为1.8 经过这一切之后,当我点击“Maven Update”时,我的java版本会自动变为1.5。同样在上述步骤中,前两步的版本也自动变为1.5。我该怎么解决这个?
问题内容: 最近,我用maven编写了一个项目,但是我对maven pom.xml中的版本有疑问。 如果我写这样的依赖 版本是什么 在一个简单的项目中,没有子项目 作为另一个项目的依赖项,并且该项目使用foo-bar-1.0.0 问题答案: 问题的第1部分:如果不指定版本,则会有各种不同的结果: a)你会得到一个错误… (D:\src\myproject\pom.xml) has 1 error
问题内容: 我是Maven和IntelliJ IDEA的新手。 我有一个用Java 8编写的Maven项目。每当尝试构建它时(Maven项目窗口->生命周期->编译->运行Maven Build),都会遇到一系列编译错误: 我应该在哪里更改-source参数的值?我尝试在设置->编译器-> Java编译器中将它作为附加参数添加,但是得到了相同的结果。 项目和模块的语言级别都设置为8.0。 我正在使