【发布时间】:2021-07-05 19:35:31
【问题描述】:
在 Eclipse 中,我可以通过以下步骤构建我的项目:
- 从 github 克隆项目
- Maven -> 更新项目启用以下设置
- “更新依赖关系”
- “从 pom.xml 更新项目配置”
- “从本地文件系统刷新工作空间资源”
- “清理项目”
- 运行方式 -> Maven 安装 构建成功。
现在我想通过 CLI 做同样的事情。
- 我不知道完全复制 eclipse 中的步骤需要哪些参数,我尝试了以下方法
- mvn clean
- mvn 依赖:解决
- mvn eclipse:eclipse
- mvn install -U
安装失败,出现很多关于不存在的包的错误(参见下面的示例)。这通常在 eclipse 程序的第 2 步中完成。当我在 Eclipse 中执行此步骤并运行 mvn install 时,它就可以工作了。
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/projects/git/mypackage/src/mypackage/myfile.java:[13,10] package ij does not exist
我想我使用了错误的 CLI 命令。有人知道我应该使用哪个吗?
-- 编辑--
包含对 ij.jar 引用的唯一文件是 MANIFEST.MF:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Tasks
Bundle-SymbolicName: mypackage
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: mypackage.jar,
lib/ij.jar
文件 ij.jar 位于 lib 文件夹中。
上面的错误确实是第一个错误。其他错误类似,所以我没有全部复制。
mvn install -U 从 CLI 的输出与在 Eclipse 中使用 Update 项目后跟 Run as -> Maven install 后的控制台输出相比的差异是
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------< mypakcage >----------------
[INFO] Building mypackage 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mypackage ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 12 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ mypackage ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 202 source files to C:\projects\eclipse\mypackage\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/projects/git/mypackage/src/mypackage/myfile.java:[13,10] package ij does not exist
对
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------< mypackage:mypackage >----------------
[INFO] Building mypackage 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mypackage ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 12 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ mypackage ---
[INFO] Nothing to compile - all classes are up to date
一旦构建尝试编译 mypackage,就会发生错误。
【问题讨论】:
-
会有很多我们在这里看不到的信息可能会有所帮助。我将首先比较 Eclipse 中的“mvn install -U”和 shell 内容之间的整个控制台内容。该编译错误是您在输出中看到的第一个错误吗? “ij”包是来自依赖还是来自本地源?
-
感谢您的回复。我在 --edit-- 标记之后添加了原始帖子中缺少的信息。
-
永远不要打电话给
mvn eclipse:eclipse。这可能会破坏您的项目。只需拨打mvn clean install即可。 -
我尝试了几种组合。不幸的是 mvn clean install 给出了同样的错误。
标签: java eclipse maven command-line