我正在尝试使用jar的依赖性问题。 我收到以下错误
remote: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project sparq: Compilation failure: Compilation failure:
remote: [ERROR] /var/lib/openshift/55846322500446673d000007/app-root/runtime/repo/src/main/java/ServerQuery.java:[3,0] error: package com.github.koraktor.steamcondenser does not exist
remote: [ERROR] /var/lib/openshift/55846322500446673d000007/app-root/runtime/repo/src/main/java/ServerQuery.java:[8,8] error: cannot find symbol
remote: [ERROR] class ServerQuery
remote: [ERROR] /var/lib/openshift/55846322500446673d000007/app-root/runtime/repo/src/main/java/ServerQuery.java:[8,34] error: cannot find symbol
这是违规的java文件。
package helpers;
import com.github.koraktor.steamcondenser.*;
public class ServerQuery {
public static String getPlayers() {
SourceServer server = new SourceServer("66.150.155.152",27015);
server.initialize();
return server.toString();
}
}
我已将以下依赖项添加到我的pom.xml
<dependency>
<groupId>com.github.koraktor</groupId>
<artifactId>steam-condenser</artifactId>
<version>1.3.9</version>
</dependency>
我还添加了以下action_hook pre_build脚本
mvn install:install-file -Dfile=./app-root/repo/steam-condenser.jar -DgroupId=com.github.koraktor -DartifactId=steam-condenser -Dversion=1.3.9 -Dpackaging=jar
这是该项目的GitHub https://github.com/koraktor/steam-condenser-java 和它的网站 http://koraktor.de/steam-condenser/usage/
有什么想法吗?完全失败了。非常感谢。
答案 0 :(得分:1)
由于您已经在项目中包含了jar文件,因此尝试使用Maven管理依赖项似乎有些过分。您应该能够将jar文件放在项目的lib目录中,如this article所述。然后,您根本不需要在Maven中配置该依赖项。
我会将Maven用于您在构建应用程序时要下载的任何依赖项。您正在检查项目的任何jar文件都不需要在Maven中配置。
答案 1 :(得分:0)
仅仅通过查看提供的问题和摘录,我相信你正在努力学习Maven的基础知识。如果我正确理解了这种情况你有一个库(不是你写的):
一旦作为Maven依赖项添加到您的项目中。如果你想使用它,这似乎是合理的。
一旦库的源代码错误地添加到您自己的Java项目中。
remote:[ERROR] /var/lib/openshift/55846322500446673d000007/app-root/runtime/repo/src/main/java/ServerQuery.java:[3,0]错误:< strong> package com.github.koraktor.steamcondenser 不存在
根据上面的错误消息,您似乎已将其中一个源文件从库中复制到项目中。这现在引起了问题。主要的一点是没有你的source-folder(src / main / java)正确表示源文件(com.github ...)中声明的包结构,它就无法编译。因此错误消息:
package com.github.koraktor.steamcondenser does not exist.
首先,您需要完全删除此复制粘贴文件,只需使用Maven的依赖项管理功能即可在类路径上获取库。之后,只需使用您已找到的链接(http://koraktor.de/steam-condenser/usage/),按照图书馆作者给出的示例。