Estou usando o Eclipse para empacotá -lo, mas ao executar a janela CMD, relatei o erro "Não existe um atributo de manifesto principal no ActiveMq.jar" ao executá -lo.
Eu pesquisei on -line e descobri que isso está relacionado ao arquivo manifesto.mf. Este arquivo não define o caminho da classe em que o método principal está localizado. Eu posso usá -lo para abrir o pacote JAR. Como esperado. Existe apenas uma linha dentro
Manifest-Version: 1.0
A classe principal precisa ser adicionada. Neste exemplo, adicione o seguinte:
Classe principal: com.luoluo.testuse.activemq.activemqstatemain
Acima, há alguns pontos a serem observados:
1. Classe principal: deve haver um espaço entre com.luoluo.testuse.activemq.activeMqstatemain, lembre-se.
2. Com.luoluo.testuse.activeMQ é o nome do pacote desta classe, e o ActiveMqStatemain é o nome da classe em que o método principal está localizado. Nota: .java ou .class não precisa ser adicionado posteriormente.
3. Se você não citar um pacote de terceiros, precisará pressionar Enter para deixar o cursor ir para a próxima linha. Caso contrário, ainda haverá um erro "não há atributo manifesto principal no ActiveMq.jar". Se um pacote de terceiros for referenciado, pressione Enter após o caminho da classe. Em resumo, depois de especificar os parâmetros relevantes, pressione Enter para deixar o cursor ir para a próxima linha.
O acima define apenas a classe principal. Se um pacote de terceiros for referenciado, será relatado o seguinte erro:
Exceção no thread "Main" java.lang.noclassDeffoundError: org/apache/ActiveMQ/broker/jmx/brokerviewMbean
Neste momento, o caminho da classe precisa ser definido no arquivo manifesto.mf. Neste exemplo, adicione o seguinte:
Classe-Path: Lib/ActiveMQ-All-5.12.1.jar
NOTA: Há também um espaço entre o caminho de classe e o Lib/ActiveMQ-All -.12.1.jar.
Ao mesmo tempo, no mesmo diretório de nível do pacote JAR, crie uma nova pasta Lib e copie o ActiveMQ-All-All-5.12.1.jar nele.
Por exemplo, neste exemplo, o pacote JAR está em C:/Usuários/Victor/Desktop e você precisa criar uma nova pasta Lib no diretório C:/Usuários/Victor/Desktop e colocar o terceiro pacote correspondente.
O primeiro é um pacote de jar embalado, e o último é uma pasta Lib, que contém um pacote JAR de terceiros.
Finalmente, o conteúdo no arquivo manifesto.mf são os seguintes:
O resultado final da execução é o seguinte:
O conteúdo acima é compartilhado com você como Java Quotes Pacotes JAR de terceiros ao fazer pacotes de jar. Espero que gostem.