项目在Eclipse中正常运行,但是在导出到可运行的jar时不会运行 [英] Project runs normal in Eclipse but doesn't when exported to a runnable jar
问题描述
尝试导出独立应用程序时遇到问题.
I'm having problems when i try to export my stand-alone application.
当我使用eclise执行它时,它运行正常,但是当我尝试导出到可运行的jar时,它给了我一些错误.
It runs ok when I execute it using eclise, but when i try to export to a runnable jar it gives me some errors.
我的persistence.xml看起来像
My persistence.xml looks like
<persistence-unit transaction-type="RESOURCE_LOCAL" name="alctel_server_monitor">
<provider>org.hibernate.ejb.HibernatePersistenceProvider</provider>
<class>br.com.monitor.database.vo.Servidor</class>
<class>br.com.monitor.database.vo.Banco</class>
<class>br.com.monitor.database.vo.Servico</class>
<class>br.com.monitor.database.vo.alerta.Alerta</class>
<class>br.com.monitor.database.vo.alerta.AlertaAtivo</class>
<class>br.com.monitor.database.vo.email.Email</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="hibernate.connection.url" value="jdbc:sqlserver://192.168.99.222;databaseName=MONITOR;" />
<property name="hibernate.connection.username" value="" />
<property name="hibernate.connection.password" value="" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
<property name="hibernate.hbm2ddl.auto" value="none" />
<property name="hibernate.hbm2ddl.import_files_sql_extractor"
value="org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor" />
<property name="hibernate.connection.useUnicode" value="true" />
<property name="hibernate.connection.characterEncoding"
value="UTF-8" />
</properties>
</persistence-unit>
它位于src/META-INF/persistence.xml
And it's located at src/META-INF/persistence.xml
当我从终端运行它时得到的堆栈跟踪是:
The stack trace i got when i run it from terminal is:
at java.lang.reflect.Method.invoke(未知源)在org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)原因:javax.persistence.PersistenceException:无法找到持久性单元在org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:99)在org.hibernate.ejb.HibernatePersistence.getEntityManagerFactoryBuilderOrNull(HibernatePersistence.java:93)在org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:86)处在org.hibernate.ejb.HibernatePersistence.getEntityManagerFactoryBuilderOrNull(HibernatePersistence.java:101)在org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:67)在org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54)在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58) Caused by: javax.persistence.PersistenceException: Unable to locate persistence units at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:99) at org.hibernate.ejb.HibernatePersistence.getEntityManagerFactoryBuilderOrNull(HibernatePersistence.java:93) at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:86) at org.hibernate.ejb.HibernatePersistence.getEntityManagerFactoryBuilderOrNull(HibernatePersistence.java:101) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:67) at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
我不知道发生了什么事,有人可以帮助我吗?
I have no idea what is happening, someone could help me?
谢谢!
推荐答案
我遇到了同样的问题,并且通过以下方式解决了问题:
I was having the same problem, and i solved by following way:
右键单击项目>属性">"Java构建路径">命令和导出",然后选择库
Right click on the project > Properties > Java Build Path > Order and Export, and select the libraries
右键单击项目>导出...>可运行的JAR文件>将所需的库复制到生成的JAR旁边的子文件夹中
Right click on the project > Export... > Runnable JAR file > Copy required libraries into a sub-folder next to the generated JAR
这篇关于项目在Eclipse中正常运行,但是在导出到可运行的jar时不会运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!