這真的讓我發瘋。無論我做什麼,似乎Mirth(1.8.2)都運行我的JAR文件的舊版本;我知道,因爲各種標誌,如:歡樂跑老JAR文件代碼
- 我不能調用任何功能
- 記錄的信息沒有顯示在日誌中
- 更改日誌消息沒有在日誌文件中改變了
- 曾經創建並寫入代碼但不再被代碼觸及的文件仍在創建和編寫中
我試過了所有我能想到的工作。它是工作在一個點上,但現在看起來它不再被更新。我的過程中我的變化融入歡樂是:
- 運行Ant腳本構建JAR文件
- 複製JAR文件\ LIB \定製
- 重新啓動歡樂服務(通過歡樂管理員)
我試過重新啓動(通過服務,Java,計算機的歡樂服務) - 無濟於事。我知道我的JAR文件是正確的,因爲我已經對它進行了反編譯(以確保它具有最新的代碼)並對其進行散列處理(與螞蟻構建的JAR的散列進行比較) - 它是正確的,代碼在那裏;它只是沒有運行。
我很機智,這很少發生,但完全阻止了我的發展。
編輯:我也知道我的代碼是正確的,因爲當我運行單元測試時,它會生成正確的文件並調用正確的函數並記錄正確的信息。只有歡樂似乎「不明白」。
而且我的課很簡單;簡單的單參數構造函數和一些返回各種數據的公共方法。沒有什麼複雜的,沒有嵌套的類/ JARs /依賴關係。
編輯:我甚至刪除了我的自定義JAR文件並重新啓動Mirth,它仍在運行我的代碼。太棒了:/我爲這個問題添加了一筆賞金。我懷疑JAR會被緩存到某處(即使他們在Mirth論壇上否認它),並且緩存需要以某種方式清除(儘管爲什麼重新啓動Mirth服務以及我的PC不這麼做)超出了我的想象。我已經殺死了Java的所有實例(並重新啓動了我的計算機),所以這使JVM很難將JAR緩存到某個地方。
我試過重新安裝歡樂。出於某種原因,我第一次啓動管理員時擁有自定義頻道;令人憤慨的是,它仍然在運行舊的JAR,即使我已經在lib \ custom中使用新的JAR進行了更新。
我正在使用1.8。我將研究通過Eclipse進行調試;如果它有效,這是一個了不起的工具。調試Javascript <=> Java非常非常痛苦。 – ashes999 2011-01-05 22:23:02
這聽起來像你遇到的問題不在JS <-> J級別,所以你不應該去那裏。 – Ladlestein 2011-01-06 00:10:09
這對我來說是一個非常麻煩的方式,以找出哪些JAR代碼正在執行。我真的很想知道我需要做什麼才能讓最新的JAR實際加載到Mirth中。 – ashes999 2011-01-09 20:35:21