问题标签 [maven-compiler-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3399 浏览

java - maven-compiler-plugin 3.0 未在 maven 下编译资源文件夹

我正在将项目从 Maven 2 移植到 Maven 3。我也借此机会更新了一些插件的版本,即 maven-compiler-plugin,从 2.1 到 3.0,以及 maven-resources-plugin,到 2.6。

我在资源下有一个接口,如下所示:

在我的 pom.xml 中,在构建中,我有:

这是以前的工作。但是自从升级到 Maven 3,编译失败,找不到版本。

很明显,它没有编译 Version 或没有将其包含在类路径中。

Maven 3 或最新版本的 maven-compiler-plugin 是否有一些变化可能会影响这一点?从阅读文档没有任何改变......

0 投票
2 回答
3276 浏览

gwt - Gwt、Gxt 和 Maven 的兼容版本

现在我在我的项目中使用 GWT 1.7,我需要升级到 GWT 2。我还有:

GXT 2.0.1 Maven 2.2.1 gwt-maven-plugin 1.1 maven-compiler-plugin 2.0.2(它的源和目标配置是1.6)

所以我把GWT版本改成了2.0.4,但是我的GXT版本好像和它不兼容。我发现的 GXT 的最低版本是 2.2.5,但有了它我的项目看起来......很奇怪 :) 那么,它有旧的兼容版本吗?

而且我的 Maven 也不适用于新的 gwt。我尝试了不同版本的 gwt-mavten-plugin,它们都抛出了不同的错误。也许我必须使用不同的 maven 或 maven-compiler-plugin?

更新

GWT:2.0.4,GXT:2.2.5,gwt-maven-plugin 2.1.0,maven-compiler-plugin 2.1

项目在 Idea 中构建,但是当我运行 mvn clean install 时:

0 投票
4 回答
13685 浏览

maven - 如何禁用 maven-compiler-plugin?

我有一个使用 aspectj-compiler-plugin 的 maven 项目。我使用类型间声明,因此在我的 Java 代码中有对 Aspect 代码的引用。因此,maven-compiler-plugin 无法编译,因为它不编译方面代码。

我的问题是:如何禁用 maven-compiler-plugin 运行,因为它没有做任何有用的事情?

有几种方法可以编译这个项目,但它们不是最理想的:

  1. 将排除过滤器添加到 maven-compiler-plugin。该插件仍将运行,但不会尝试编译任何内容。问题是这会破坏 Eclipse 中的 ajdt 项目配置器
  2. 将所有 java 代码移动到 aspectj 文件夹。这也感觉不对。
0 投票
1 回答
4335 浏览

java - 如何通过 Maven 将“-J”选项传递给 javac?

我有一个使用 Maven 构建的 Java 项目。我想向“javac”命令行添加选项——特别是,我想传递一些“-J”选项。

所以通常我会做这样的事情:

但是,当我尝试这个时,我得到了以下形式的错误:

经过仔细调查,似乎 maven-compiler-plugin 将所有编译器参数写入选项文件,并像“javac @optionfile”一样调用 javac。根据http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/javac.html上的 javac 官方文档:

@argfiles 一个或多个列出选项和源文件的文件。这些文件中不允许使用 -J 选项。

所以看起来 maven-compiler-plugin 中的选项不起作用 - 它想使用 arg 文件,arg 文件不能包含我想要的选项。

我也看到了一些使用地图的建议——但是当我尝试它时,结果相似。

还有其他选择吗?

0 投票
1 回答
2852 浏览

maven-3 - Maven 中的 PluginVersionResolutionException

在我以前的系统中 C:\Users\abc 更改为 C:\Users\xyz 现在问题在使用“mvn clean install”运行 maven 时出现异常为LocalRepositoryNotAccessibleException,它采用以前的路径“C:\Users\abc”但它不在我的系统 bcz 中,我已经更改为“C:\Users\xyz”。并且 .m2 文件夹不在我的 C:\Users\xyz 路径中,所以我在 settings.xml localrepository 位置中明确指定为“C :\Users\xyz.m2\repository" 现在 .m2 localrepository 创建了上面的问题解决了。但现在我面临的另一个问题是我运行命令“mvn clean install”它显示“ PluginVersionResolutionException ”但它正确识别 C:\Users\ xyz 但显示此异常。我正确检查了我指定的文件中的插件版本。请给我解决方案并解释为什么它会这样?

谢谢

0 投票
1 回答
7294 浏览

maven - Maven编译器插件:编译失败

当我从编译开始执行任何目标时,它无法编译我的 ui sub pom 项目。只是保持源/目录命名非常平淡,抱歉。但格式几乎是这样的:

[错误] 无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project ui: Compilation failure: Compilation failure:

[错误] 无法解析错误消息:[解析开始 C:\Path\Of\My\Project\src\main\java\com\ui\javaFile.java]

[ERROR] [解析完成 16ms]

对于我的所有 java 源文件,解析时都会出现同样的错误。后来在错误的垃圾邮件中,它说:

[错误] C:\Path\Of\My\Project\ui\src\main\java\com\ui\javaFile.java:[13,20] 包 javax.servlet 不存在

这是否意味着它无法编译,因为我缺少一些需要的依赖项?

我的环境变量下的 JAVA_HOME 设置为 C:\Program Files\Java\jdk1.6.0_43 并且我的路径有 %JAVA_HOME%\bin 粘在上面。我的父母 pom 也有:

为了安全起见,它也在普通的插件元素中。我知道我的 ui 项目的子 pom 正确地引用了父 pom。

不知道还能想到什么:(

伙计们,放轻松!我是 Maven 菜鸟。必须将 Ant build.xml 项目转换为 Maven。希望得到一些建议:)

0 投票
1 回答
2578 浏览

maven - 詹金斯和maven-compiler-plugin?

我在配置 Jenkins 时遇到问题,我正在从 tomcat7 [在 ubuntu 上] [从 apache 下载,未通过 apt-get 安装] 运行 jenkins。我已经从 Oracle 安装了 java。当我想构建一个项目时,maven 说 maven-compiler-plugin 导致问题:

关键是我没有在这个版本中使用 maven-compiler-plugin,我什至没有在任何 POM 中声明这个插件!我自己不能在 pom 中添加任何东西[不要问为什么]

编辑:全栈 [ maven 中的 -X 选项]

0 投票
1 回答
2658 浏览

maven - maven 运行时范围,但传递依赖项具有编译范围

项目 A 依赖于具有运行时范围的项目 B。项目 B 依赖于具有编译范围的项目 C。如果项目 A 中的代码调用项目 C 中的函数,我希望项目 A 的 mvn compile 会失败,但事实并非如此。

预期的行为是什么?

我将 maven 3.0.4 与 maven-compiler-plugin 2.5.1 和 maven-dependency-plugin 2.5 一起使用。

0 投票
0 回答
1095 浏览

maven - maven找不到java编译器

我是新手。我刚刚加入了一家新公司,他们的所有项目都使用 maven。我为 Maven 依赖项设置了公司的服务器。我正在使用 Fedora。

对于大多数项目来说,一切都很顺利。对于其中一些,我在运行 mvn compile 时收到此错误:

无法在项目 xlayer 上执行目标 org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile):致命错误编译:执行外部编译器时出错。执行过程时出错。无法运行程序“java -classpath”${env.M2_REPO}/org/eclipse/jdt/core/3.4.2.v_883_R34x/core-3.4.2.v_883_R34x.jar“org.eclipse.jdt.internal.compiler.batch .Main -sourcepath "src/main"" (在目录 "/home/es/ion_projects/XLayer"): error=2, No such file or directory -> [Help 1]

我在网上看了几个小时,什么也做不了。PATH 和 JAVA_HOME 设置正确。

运行 mvn --version 给出:

Apache Maven 3.0.4 (rNON-CANONICAL_2013-01-22_13-18_mockbuild; 2013-01-22 14:18:29+0100) Maven 主页:/usr/share/maven Java 版本:1.7.0_17,供应商:Oracle Corporation Java主页:/home/es/kit/jdk1.7.0_17/jre 默认语言环境:en_US,平台编码:UTF-8 操作系统名称:“linux”,版本:“3.8.3-103.fc17.i686”,arch:“ i386”,家庭:“unix”

更新:

在 pom.xml (父级,但这并不重要)中,maven-compiler-plugin 将可执行文件定义为

java -classpath "${env.M2_REPO}/org/eclipse/jdt/core/${org.eclipse.jdt.core.version}/core-${org.eclipse.jdt.core.version}.jar" org .eclipse.jdt.internal.compiler.batch.Main -sourcepath "src/main"

为了使用 Eclipse 编译器而不是 sun 的编译器。这适用于使用 Windows 的开发人员。在 linux 上,maven 尝试将“java -classpath ....”作为一个不存在的命令执行。

我仍在寻找解决方案。我发现的唯一黑客是将可执行文件“java -classpath ...”放在我机器上的可执行文件中,并将该文件的名称放在 maven 的标签中。

0 投票
2 回答
2797 浏览

java - 打开枚举时Maven编译失败

我正在简化(这是一个词吗?)一个项目,其构建过程到目前为止完全基于 ant/shell 脚本。

考虑以下枚举

以下豆:

以及以下代码片段:

使用 maven 构建时出现编译错误:

无法打开 ResourceType 类型的值。只允许可转换的 int 值或枚举变量

pom.xml 具有以下用于编译的插件配置

ant(使用 org.eclipse.jdt.core.JDTCompilerAdapter)和 eclipse 构建/编译都很好。我显然做错了什么(除非它是一个未报告的 maven-compiler-plugin 或 plexus-compiler-eclipse 插件错误,这有点不太可能,打开枚举既不是坏事也不是火箭科学)。有人有想法吗?

其他环境细节

$mvn -version Apache Maven 3.0.4 (r1232337; 2012-01-17 10:44:56+0200) Maven 主页:/home/d/dev/tools/apache-maven-3.0.4 Java 版本:1.6.0_35 ,供应商:Sun Microsystems Inc. Java 主页:/opt/jdk1.6.0_35/jre 默认语言环境:en_US,平台编码:UTF-8 操作系统名称:“linux”,版本:“3.2.0-40-generic”,arch :“amd64”,家庭:“unix”

更新:

标准 JDK 编译器成功编译特定类。看起来像一个 plexus-compiler-eclipse 2.2 问题。