我使用NetBeans編寫了一個工具,在IDE中運行它時它正在工作。我已將工具所需的所有源文件放入resources
文件夾中。構建後Java程序無法運行
Build和Clean之後程序沒有啓動,它拋出一個Exception - > File not found。
我使用相對路徑來使用這樣我需要的數據,例如:
view.jIconRed1.setIcon(
new javax.swing.ImageIcon(
getClass().getResource("/usaTrafficResearchTool/resources/Icons/CheckMark22x20.png")));
而且它的正常工作,直到我建立它。我嘗試了一些東西清理並生成後甚至沒有工作了:
異常在線程 「AWT-EventQueue的-0」 顯示java.lang.NullPointerException
更新:
謝謝你所有的幫助!讚賞這一點。
這裏的堆棧跟蹤(「第一」之一,它不能找到它應該從閱讀.TXT):
C:\Users\rkryp_000>java -jar "D:\Raffa\Dokumente\USATrafficTool_V2.1\USATrafficLawResearchTool\dist\USATrafficLawResearchTool.jar"
Sep 24, 2015 12:53:32 PM presenter.Presenter getStateLinesFromTxt
SCHWERWIEGEND: null
java.io.FileNotFoundException: file:\D:\Raffa\Dokumente\USATrafficTool_V2.1\USATrafficLawResearchTool\dist\USATrafficLawResearchTool.jar!\usaTrafficResearchTool\resources\Data\stateResources.txt
(Die Syntax f³r den Dateinamen, Verzeichnisnamen oder die Datentrõgerbezeichnung ist falsch)
(英語:語法的文件名,文件夾名或姓名該驅動器的錯誤)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at presenter.Presenter.getStateLinesFromTxt(Presenter.java:89)
at presenter.Presenter.setStateList(Presenter.java:63)
at presenter.Presenter.main(Presenter.java:194)
這裏是我的FileReader樣子:
private static void setStateList() throws URISyntaxException {
URL fileNameAsUrl = MainScreen.class.getClassLoader().getResource("usaTrafficResearchTool/resources/Data/stateResources.txt");
private static List getStateLinesFromTxt(URL fileNameAsUrl) {
List array = new List();
try {
BufferedReader reader = new BufferedReader(new FileReader(new File(fileNameAsUrl.getFile())));
String line;
我如果檢查到.jar文件被正確打包,看起來如此,.txt文件的路徑實際上是正確的。
感謝您的支持!
你可以發佈堆棧跟蹤嗎? – shan1024