【发布时间】:2016-10-08 05:34:13
【问题描述】:
我在项目的同一文件夹中有一个 java 和 scala 文件的代码库(总共 5 个文件)。几个 java 文件是指一个由一个 scala 文件定义的类。我使用 scala-maven-plugin (v3.2.2) 来编译源代码。当尝试使用最新的 mvn-compiler-plugin (v3.5.1) 时,即使 scala 编译器首先运行并编译所有文件(java 和 scala),maven-compiler-plugin 稍后会启动,尝试编译 java仅文件,并失败并显示消息:未找到符号 - 对于 scala 文件中定义的对象。
这是一些输出。
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ GraphDB ---
[INFO] Deleting /home/xx/GraphDB
[INFO]
[INFO] --- scala-maven-plugin:3.2.2:compile (default-cli) @ GraphDB ---
[INFO] /media/xx/GraphDB/src/main/java:-1: info: compiling
[INFO] Compiling 5 source files to /home/xx/GraphDB/classes at 1465363494733
[INFO] prepare-compile in 0 s
[INFO] compile in 4 s
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ GraphDB ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.5.1:compile (default-compile) @ GraphDB ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 3 source files to /home/xx/GraphDB/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /media/xx/GraphDB/src/GraphTest.java:[23,30] cannot find symbol
symbol: variable TitanGraphProvider
location: class com.ilabs.dsi.titan.GraphTest
[ERROR] /media/xx/GraphDB/src/AddStatic.java:[229,24] cannot find symbol
symbol: variable TitanGraphProvider
location: class com.ilabs.dsi.titan.AddStatic
符号“TitanGraphProvider”在 Scala 文件中。
我正在使用命令“mvn clean scala:compile package”来执行此操作。我注意到,如果我将命令分解为“mvn clean scala:compile”和“mvn package”,那么第一个命令会通过,但第二个命令会在同一步骤失败并出现相同的错误。似乎后面的java编译阶段是由打包步骤启动的。
这种场景下mvn package的正确实现方式是什么?
编辑:看起来我没有提供完整的场景。我试图从运行 Debian 的 Virtualbox VM 上的共享文件夹编译代码库,底层文件系统是 Windows (10)。当我将文件夹移动到 VM 上的非共享位置时,一切正常。
【问题讨论】:
标签: java scala maven maven-3 maven-compiler-plugin