В исполняемом файле java
нет положения для поиска в списке каталогов файла .jar. Напишите сценарий оболочки, который выполняет java
с полным путем к .jar.
#!/bin/bash
exec java -jar /opt/ClosureCompiler/compiler.jar
Самый простой вариант - сделать jar-файл управляемым, используя chmod + x compiler.jar
. Затем вы можете запустить его из своего ПУТЬ
следующим образом:
compiler.jar --help
Это еще несколько вариантов использования команды java
для запуска файла.
Java использует CLASSPATH найти классы и другие ресурсы. Путь к классам может содержать jar-файлы и каталоги. Java будет искать ресурсы в пути к классам. Определите переменную среды, содержащую пути, которые вы хотите найти. Разделитель путей: в Windows и: в большинстве других систем. Это будет работать для классов в командной строке, но не для jar-файлов. Если вы читаете манифест
из compiler.jar
, вы можете написать короткий класс Compiler
, который вызывает основной класс. В качестве альтернативы, просто вызовите основной класс напрямую, как указано в манифесте, вместо Compiler
(как указано ниже).
Возможно, у вас уже есть определенный путь к классам. Попробуйте echo $ CLASSPATH
, чтобы убедиться, что это так. Попробуйте
export CLASSPATH=$CLASSPATH:/opt/ClosureCompiler:/opt/ClosureCompiler/compiler.jar
java Compiler
или для закрытия (другие jar-файлы будут иметь другой главный класс).
export CLASSPATH=$CLASSPATH:/opt/ClosureCompiler/compiler.jar
java com.google.javascript.jscomp.CommandLineRunner
Вы должны определить свой CLASSPATH
, в котором вы добавили / opt / ClosureCompiler
в свой путь. Он вам не нужен / opt / ClosureCompiler
на вашем пути.
Это образец файла Compiler.java.
import com.google.javascript.jscomp.CommandLineRunner;
public class Compiler {
public static void main (String[] args) {
CommandLineRunner.main( args );
}
}
Его можно скомпилировать с помощью команды javac -cp compiler.jar Compiler.java
.
export CLASSPATH=$CLASSPATH:/opt/ClosureCompiler:/opt/ClosureCompiler/compiler.jar
java Compiler
или для закрытия (другие jar-файлы будут иметь другой главный класс).
export CLASSPATH=$CLASSPATH:/opt/ClosureCompiler/compiler.jar
java com.google.javascript.jscomp.CommandLineRunner
Вы должны определить свой CLASSPATH
, в котором вы добавили / opt / ClosureCompiler
в свой путь. Он вам не нужен / opt / ClosureCompiler
на вашем пути.
Это образец файла Compiler.java.
import com.google.javascript.jscomp.CommandLineRunner;
public class Compiler {
public static void main (String[] args) {
CommandLineRunner.main( args );
}
}
Его можно скомпилировать с помощью команды javac -cp compiler.jar Compiler.java
.
export CLASSPATH=$CLASSPATH:/opt/ClosureCompiler:/opt/ClosureCompiler/compiler.jar
java Compiler
или для закрытия (другие jar-файлы будут иметь другой основной класс).
export CLASSPATH=$CLASSPATH:/opt/ClosureCompiler/compiler.jar
java com.google.javascript.jscomp.CommandLineRunner
Вы должны определить свой CLASSPATH
, в котором вы добавили / opt / ClosureCompiler
в свой путь. Вам не нужен / opt / ClosureCompiler
на вашем пути.
Это образец файла Compiler.java.
import com.google.javascript.jscomp.CommandLineRunner;
public class Compiler {
public static void main (String[] args) {
CommandLineRunner.main( args );
}
}
Его можно скомпилировать с помощью команды javac -cp compiler.jar Compiler.java
.