在OpenShift服务器上找不到Maven jar依赖性问题包

时间:2015-06-20 02:01:09

标签: java maven openshift

我正在尝试使用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/

有什么想法吗?完全失败了。非常感谢。

2 个答案:

答案 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/),按照图书馆作者给出的示例。