Из вашего вопроса я вижу, что скомпилированный интерфейс Constants
находится в jar, который отличается от jar / location реализующих классов.Таким образом, вы должны иметь возможность выполнить ваше приложение следующим образом:
java -cp /path-to-jar/JarContainingConstants.jar my.application.Main
(замените имена реальными именами)
Если вы добавили другие классыв другой jar и , затем, если вы сделали этот jar исполняемым, и , то, если , вы попытались запустить его с java -jar MyApplication.jar
, , тогда любой путь к классу, определенный вне выполняемогобанка игнорируетсяНо приведенная выше команда может работать с любым jar (исполняемым или нет).
из комментария
[alef@localhost ~]$ java -cp /../code-misc.jar /.../MultiDoc.jar
Exception in thread "main" java.lang.NoClassDefFoundError: /.../MultiDoc/MultiDoc/jar
Caused by: java.lang.ClassNotFoundException: .home.
... .MultiDocDateMathcer.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
...
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: /.../MultiDoc/MultiDocr.jar.
Program will exit.
Вы называете, безусловно, неправильно.Сделайте это так (ОБНОВЛЕНИЕ):
java -Dgate.home=/my/new/gate/home/directory -cp gate.jar;code-misc.jar;MultiDoc.jar gate.Main