簡體   English   中英

在Windows命令行中將Jar文件添加到Buildpath

[英]Add Jar File to Buildpath in Windows Command Line

我很不高興不得不問這個,但我不能讓它工作。 目前我有一個項目:

5個src /文件夾中的類

2 JARS在根文件夾中命名為profiles.jar和classifier.jar

我想創建一個“makefile?” 還是“批處理文件?” 從WINDOWS命令行編譯和運行這些類,但首先將jar添加到buildpath? 我不知道我是怎么回事

當我嘗試這樣做時,它表示找不到類,很可能是因為我沒有正確地將jar添加到構建路徑中。 在命令提示符下運行此命令需要使用哪些命令?

謝謝Philip

編輯

感謝您的幫助,我有很多麻煩讓它工作當前我有一個項目在src文件夾中有5個類,在jar文件夾中有2個jar

以下是我正在運行的命令:

設置CLASSPATH = C:\\ wamp \\ www \\ news \\ UserProfiling \\ jars \\ classifier.jar; C:\\ wamp \\ www \\ news \\ UserProfiling \\ jars \\ profiles.jar

然后從根文件夾,我運行:

javac src / * .java

然后:

java -cp ./src:./jars/* src / Interaction

交互是主要的類,我得到各種noclassfound錯誤,我做錯了什么? 非常感謝菲利普

錯誤

java -cp ./src:./jars/*交互線程“main”中的異常java.lang.NoClassDefFoundError:交互引起的:java.lang.ClassNotFoundException:java.net.URLClassLoader上的交互$ 1.run(未知來源)at java.security.AccessController.doPrivileged(本機方法),位於java.lang.ClassLoader.findClass(未知來源),位於sun.misc.Launcher的$ java.lang.ClassLoader.loadClass(未知來源)$ AppClassLoader.loadClass(未知來源)at java.lang.ClassLoader.loadClassInternal(Unknown Source)中的java.lang.ClassLoader.loadClass(Unknown Source)無法找到主類:Interaction。 程序將會退出。

在早於或等於Java版本5的版本中,您必須在類路徑上單獨指定每個jar和源的根目錄,例如

java -cp a.jar:b.jar:c.jar:./src MainClass

在版本6中,您可以使用通配符作為jar

java -cp ./src:* MainClass

但將你的罐放入子目錄可能更清潔,例如

java -cp ./src:./jars/* MainClass

所以基本上,你的makefile或者啟動腳本需要構建一個像上面那樣的命令。

更多信息 - Sun docs(v6)

更新 - 為了響應您的第二次編輯,您需要指定完整的主類名,因此如果該類位於名為“com.mypackage.MainClass”的包中,那么您需要執行以下操作:

java -cp ./src:./jars/* com.mypackage.MainClass

我還建議在使整個腳本運行之前,先將命令作為獨立命令運行。 通過移除移動部件,調試速度更快,更容易看到發生了什么。

我建議你看看螞蟻maven Ant是一個非常簡單的解決方案,maven不是那么簡單,但在管理依賴關系方面有其優勢。

關於你的第二個問題:如果你使用

java -cp ./src:./jars/* src/Interaction

它將嘗試啟動不存在的類src / Interaction。 src已經在你的類路徑中,所以你必須這樣做

java -cp ./src:./jars/* Interaction

我想,找到了你的問題。

javac src / * .java

java -cp ./src:./jars/* src / Interaction

這個問題困擾了許多初學者:您需要從源樹開始的目錄運行javac和java。 在您的情況下,該目錄是src 由於src沒有出現在您的包名中,因此它也不應出現在您的編譯/執行路徑中。

所以你應該

cd UserProfiling/src 

並運行

javac *.java 

java -cp .:../jars Interaction 

從那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM