簡體   English   中英

Java類路徑和包問題-引用多個jar文件

[英]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.

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