Это то, что у меня есть PATH
:
PATH=/opt/ClosureCompiler:/home/vmadmin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Eсть compiler.jar
в /opt/ClosureCompiler
, но когда я звоню
java -jar compiler.jar
я получил
Unable to access jarfile compiler.jar
Хотя java -jar /opt/ClosureCompiler/compiler.jar
работает нормально.
Итак, может ли Java следовать PATH
для разрешения имен файлов? Если да - что я сделал не так?
Самый простой вариант - сделать банку разводной с помощью chmod +x compiler.jar
. Затем вы можете запустить его со своего PATH
следующим образом:
compiler.jar --help
Это еще несколько вариантов использования java
команда для запуска файла.
Java использует CLASSPATH для поиска классов и других ресурсов. Путь к классам может содержать jar-файлы и каталоги. Java будет искать ресурсы в пути к классам. Определите переменную среды, содержащую пути, которые вы хотите найти. Разделитель путей: в Windows и: в большинстве других систем. Это будет работать для классов в командной строке, но не для jar-файлов. Если вы прочитаете manifest
из compiler.jar
вы можете написать короткое Compiler
class, который вызывает основной класс. В качестве альтернативы просто вызовите основной класс напрямую, как указано в манифесте, вместо Compiler
(как указано ниже).
Возможно, у вас уже есть путь к классам. Пытаться echo $CLASSPATH
чтобы увидеть, так ли это. Пытаться
export CLASSPATH=$CLASSPATH:/opt/ClosureCompiler:/opt/ClosureCompiler/compiler.jar
java Compiler
или для закрытия (другие банки будут иметь другой основной класс).
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
.
В java
исполняемый файл для поиска в списке каталогов файла .jar. Напишите сценарий оболочки, который выполняет java
с полным путем к .jar.
#!/bin/bash
exec java -jar /opt/ClosureCompiler/compiler.jar