Передача свойств в пользовательский компонент в Flash Builder 4

Вы используете либо -jar , либо -cp, вы не можете комбинировать их. Если вы хотите поместить дополнительные JAR в classpath, тогда вы должны либо поместить их в основной манифест JAR, а затем использовать java -jar, или вы поместите полный путь к классам (включая основной JAR и его зависимости) в -cp и назовите основной класс явно в командной строке

java -cp 'MyProgram.jar:libs/*' main.Main

(Я использую синтаксис dir/*, который сообщает команде java добавлять все .jar файлы из определенного каталога в путь к классам. * должен быть защищен от расширения оболочкой, поэтому я использовал одинарные кавычки.)

Вы упомянули, что используете Ant, для альтернативного манифеста, вы можете использовать ant <manifestclasspath> после после копирования зависимостей, но до построения JAR.

<manifestclasspath property="myprogram.manifest.classpath" jarfile="MyProgram.jar">
  <classpath>
    <fileset dir="libs" includes="*.jar" />
  </classpath>
</manifestclasspath>

<jar destfile="MyProgram.jar" basedir="classes">
  <manifest>
    <attribute name="Main-Class" value="main.Main" />
    <attribute name="Class-Path" value="${myprogram.manifest.classpath}" />
  </manifest>
</jar>

При этом java -jar MyProgram.jar будет работать правильно, и будет включать все файлы [J13] JAR в пути к классам.

1
задан Reado 7 September 2010 в 13:06
поделиться