2015-06-20 31 views
0

我越來越依賴問題,有一個罐子裏,我嘗試使用上沒有發現。 我收到以下錯誤Maven的JAR依賴問題包OpenShift服務器

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/

有什麼想法?完全失去。非常感謝。

回答

1

既然你包括你的項目已經jar文件,試圖管理與Maven的依賴,似乎有點小題大做。你應該能夠把jar文件放在項目的lib目錄中,如this article所描述的。那麼你將不需要在Maven中配置該依賴關係。

我會使用Maven爲你想在你的應用正在建造的時間下載任何依賴關係。任何你檢入項目的jar文件都不需要在Maven中配置。

+0

是的,不幸的是我已經讀過,並已經嘗試過。 Eclipse也沒有給我任何包找不到問題。只有當我嘗試部署到服務器時。我想我必須問OpenShift。 –

+0

你已經試過了,它沒有工作?究竟發生了什麼? –

+0

它給了我相同的包未找到錯誤。 –

0

只要看一眼的問題,並提供了摘錄,我相信你與Maven的基礎知識掙扎。如果我正確地理解了這種情況,您將擁有一個庫(不是由您編寫的):

  • 曾作爲Maven依賴項添加到您的項目中。這似乎是合理的,如果你想使用它。

  • 一旦庫的源代碼錯誤地添加到您自己的Java項目。

    遠程:[ERROR]的/ var/lib中/ openshift/55846322500446673d000007/APP-根/運行/回購/ 的src /主/爪哇/ ServerQuery.java:[3,0]錯誤:包com.github .koraktor.steamcondenser基礎上errormessage的

上面似乎已複製從庫中sourcefiles到項目的一個不存在。這現在造成問題。最主要的是,如果沒有源文件夾(src/main/java)正確地表示在源文件(com.github ...)中聲明的包結構,它就不能被編譯。因此,errormessage的:

所有你需要刪除此複製粘貼文件完全是隻使用Maven的依賴管理功能來獲取類路徑的庫
package com.github.koraktor.steamcondenser does not exist. 

第一。之後,請按照您已找到的鏈接(http://koraktor.de/steam-condenser/usage/),按照庫的作者給出的示例進行操作。

+0

不知道我是否正確解釋,但我不是從庫中複製和粘貼代碼。我試圖在servlet中使用庫中提供的一些類和方法,其中之一是SourceServer,然後在scriptlet中調用它(我沒有提供)。我很抱歉不清楚。有趣的是,Eclipse不會抱怨沒有找到包。只有當我部署到服務器時! –