2011-01-21 64 views
7

我需要在程序執行過程中使用額外的罐子。我手動將jar添加到相關的./lib文件夾中,然後執行該程序。我應該如何在清單文件中定義類路徑?如何在java清單類路徑中使用正則表達式?

+0

我有一個解決方案!我將包含如下變量: Class-Path:lib/externaljar1.jar lib/externaljar2.jar等5或10個值。然後,在運行時包含jar文件時,只需將其重命名爲externaljar1,externaljar2等並將其複製到lib文件夾。 ;-) – Suraj 2011-01-21 11:07:20

+0

我感謝每一個對我的查詢作出迴應的人。非常感謝! – Suraj 2011-01-21 11:07:57

回答

11

您不能在清單的Class-Path屬性中使用正則表達式或其他通配符。

Java中只有一個受支持的通配符,並且只能在命令行上在「手動」java調用(即不使用-jar):using directoryname/*時指定。

+0

除了使用-cp命令或類加載函數之外,還有其他方法嗎? – Suraj 2011-01-21 09:18:45

2

我不是太肯定,你想要什麼,但你可以在運行過程中添加罐子:含罐子的目錄使用的File.List()

  • 列表(JAR)文件
  • 你找回
  • 使用的URLClassLoader的URLClassLoaders裝入罐子

我不知道如何註冊(如果需要)到主類加載器上的文件名正則表達式。但這是我想我會去的方式。