Articles of classpath

Adicionar jar ao classpath em tempo de execução sob o java 9

Até java9 para adicionar jar externo ao classpath em tempo de execução programaticamente todo mundo usou: URLClassLoader sysloader = (URLClassLoader) ClassLoader.getSystemClassLoader(); Method method = URLClassLoader.class.getDeclaredMethod(“addURL”, new Class[]{URL.class}); method.invoke(sysloader, new Object[]{file.toURI().toURL()}); Agora com java9 temos problema: Exceção no segmento “main” java.lang.ClassCastException: java.base / jdk.internal.loader.ClassLoaders $ AppClassLoader não pode ser convertido em java.base / java.net.URLClassLoader URLClassLoader não […]

Obtendo o Ant para reconhecer um classpath

Eu tenho um arquivo de compilation Apache Ant com um comando que requer quatro JARs específicos para estar no classpath compilation. Eu tentei fazer isso: Compile from ${src} to ${build} … Mas nenhum dos arquivos especificados no TSA.classpath parece aparecer. Como incluo esses arquivos no meu classpath?

Um diretório pode ser adicionado ao caminho de class no tempo de execução?

Para entender melhor como as coisas funcionam em Java, gostaria de saber se posso adicionar dinamicamente, em tempo de execução, um diretório ao caminho da class. Por exemplo, se eu iniciar um .jar usando “java -jar mycp.jar” e gerar a propriedade java.class.path , poderei obter: java.class.path: ‘.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java’ Agora posso modificar esse caminho de class no […]

Varredura de caminhos de class / modulepath em tempo de execução no Java 9

Eu não consigo encontrar nenhuma informação sobre se a varredura de todas as classs disponíveis (para interfaces, annotations, etc) ainda é possível em tempo de execução, a forma como Spring, Reflections e muitas outras estruturas e bibliotecas atualmente fazem, em face de mudanças relacionadas ao Jigsaw a maneira como as classs são carregadas. EDIT : […]

NoClassDefFoundError ao tentar executar o meu jar com java.exe -jar… o que há de errado?

Eu tenho um aplicativo que estou tentando embrulhar em um flask para facilitar a implantação. O aplicativo compila e executa bem (em uma janela do Windows cmd) quando executado como um conjunto de classs alcançável a partir do CLASSPATH. Mas quando eu pego minhas classs e tento executá-lo com o java 1.6 na mesma janela […]

Problemas de ordem de caminho de class do Maven

Alguém sabe de uma maneira de definir uma ordem de caminho de class específica no Maven2, em vez da ordenação aleatória que pareço ter no momento? Existem vários motivos legítimos para querer fazer isso: Um fornecedor forneceu um flask de correção, que contém classs de substituição para um flask lançado anteriormente e, portanto, o flask […]

É possível “adicionar” ao classpath dinamicamente em java?

java -classpath ../classs;../jar;. parserTester Como posso obter a funcionalidade no comando acima programaticamente? Como, é possível rodar como: java parserTester e obter o mesmo resultado? Eu tentei usar URLClassLoader mas modifica o classpath e não adiciona a ele. Thanx! Obrigado pela resposta Milhous. Mas é isso que estou tentando fazer .. Como é possível colocar […]

Maven – como posso adicionar uma input de caminho de class arbitrária a um jar?

Eu tenho uma situação incomum onde eu preciso adicionar uma input de caminho de class arbitrária (que aponta para um arquivo jar) para o manifesto de um jar executável. (Isso é para um aplicativo de desktop Swing.) O plugin maven-jar gera a input “Class-Path” para o manifesto jar usando as dependencies do maven, e não […]

Diferenças entre “java -cp” e “java -jar”?

Qual é a diferença entre executar um aplicativo Java com java -cp CLASSPATH e java -jar JAR_FILE_PATH ? Um deles é preferido ao outro para executar um aplicativo Java? Quero dizer, qual dessas formas é mais cara para a JVM (de acordo com o uso de resources da máquina)? Qual deles fará com que a […]

Diferença do prefixo do caminho de class da primavera

Documentado aqui afirma Esse prefixo especial especifica que todos os resources de caminho de class que correspondem ao nome fornecido devem ser obtidos (internamente, isso ocorre essencialmente por meio de uma chamada ClassLoader.getResources (…)) e, em seguida, mesclados para formar a definição final do contexto do aplicativo. Alguém pode explicar isso? Qual é a diferença […]