[英]Junit from cmdline - java.lang.ClassNotFoundException
我有一個從eclipse成功運行的junit測試套件。 當我嘗試使用
java -jar AppTest.jar
我得到以下內容:
Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/runner/JUnitCore
at appdirect.AppTest.main(AppTest.java:18)
Caused by: java.lang.ClassNotFoundException: org.junit.runner.JUnitCore
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 1 more
我知道jar是成功創建的,因為我正在創建日志(通過AppTest以編程方式),並且回顯$ PATH會打印出junit.jar所在的目錄。
如何確保當我在日食震撼時能撿起所有的junit罐子?
您需要將junit jar添加到classpath ,而不是系統的路徑。
一種方法是將類路徑設置為指向junit.jar和AppTest.jar並調用您的main。
java -cp /path/to/junit.jar:/path/to/AppTest.jar com.example.Main
路徑可能會打印出罐子,但是罐子在類路徑中。 還有一個名為CLASSPATH
環境變量,您需要在其中添加附加的junit jar並嘗試運行AppTest.jar
在主Jar的清單中添加對另一個Jar的引用。
信不信由你,這就像確保我在向導中導出為“可運行的Jar”並使用“提取所需的庫...”選項一樣簡單。 我一直試圖將其導出為普通的jar。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.