[英]Java classpath and package problems - referencing multiple jar files
我正在嘗試運行一個Java類,該類引用了其他各種jar文件。 看起來像這樣:
package com.myapp.test;
import java.io.File;
import com.myapp.ref;
import com.myapp.stuff;
import com.strangersapp.stuff;
import com.strangersapp.morestuff;
public class myTest {
public static void main...
...
}
com.myapp。*類位於另一個名為myapp.jar的jar文件中。 strangersapp類位於strangersapp.jar中。 各種jar中還有其他幾個引用的類。 我的整個目錄結構如下所示:
myapp.jar
strangersapp.jar
someother.jar
yetanother.jar
etc.jar
com\myapp\test\myTest.java
我的問題是嘗試編譯並運行它。 我嘗試了明顯的命令,但是此命令不起作用。 它不會拾取所有的jar文件:
javac -cp . com\myapp\test\myTest.java
java -cp . com.myapp.test.myTest
此命令也不起作用:
javac -cp ".;*.jar" com\myapp\test\myTest.java
但是,這些命令確實起作用:
javac -cp ".;myapp.jar;strangersapp.jar;someother.jar;yetanother.jar;etc.jar" com\myapp\test\mTest.java
java -cp ".;myapp.jar;strangersapp.jar;someother.jar;yetanother.jar;etc.jar" com.myapp.test.mTest
誰知道我的第一個Java運行語句為什么不起作用? 我不想在類路徑參考中輸入所有的jar名稱...
如果使用-cp,則必須命名要包含的所有jar。 為了避免這種情況,只需將它們添加到清單中,java就會選擇它們。
對於javac,我認為您應該使用-classpath而不是-cp
您應該嘗試這樣:
javac -cp ".;*.jar" com\myapp\test\myTest.java
java -cp ".;*.jar" com.myapp.test.myTest
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.