项目在Eclipse中正常运行,但在导出到可运行jar时不会运行 [英] Project runs normal in Eclipse but doesn't when exported to a runnable jar

查看:134
本文介绍了项目在Eclipse中正常运行,但在导出到可运行jar时不会运行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试导出我的独立应用程序时,出现问题。



当我使用eclise执行它时运行正常,但是当我尝试导出到一个可运行jar,它给了我一些错误。



我的persistence.xml看起来像

 < persistence-unit transaction-type =RESOURCE_LOCALname =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>
<属性>
< property name =hibernate.connection.driver_classvalue =com.microsoft.sqlserver.jdbc.SQLServerDriver/>
< property name =hibernate.connection.urlvalue =jdbc:sqlserver://192.168.99.222; databaseName = MONITOR; />
< property name =hibernate.connection.usernamevalue =/>
< property name =hibernate.connection.passwordvalue =/>
< property name =hibernate.format_sqlvalue =true/>
< property name =hibernate.show_sqlvalue =false/>
< property name =hibernate.dialectvalue =org.hibernate.dialect.SQLServerDialect/>
< property name =hibernate.hbm2ddl.autovalue =none/>

value =org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor/>
< property name =hibernate.connection.useUnicodevalue =true/>
< property name =hibernate.connection.characterEncoding
value =UTF-8/>
< / properties>
< / persistence-unit>



它位于src / META-INF / persistence.xml



我从终端运行它时得到的堆栈跟踪是:



at java.lang.reflect.Method.invoke(Unknown Source)
at 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.hib在HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54)
在org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54)
在javax.persistence.Persistence.createEntityManagerFactory(持久性。 java:55)


我不知道发生了什么,有人可以帮我吗?

谢谢!

解决方案

我遇到同样的问题,通过以下方式解决:

右键单击项目> Properties> Java Build Path> Order and Export,然后选择库



右键单击项目>导出...>可运行JAR文件>将所需的库复制到生成的JAR旁边的子文件夹中


I'm having problems when i try to export my stand-alone application.

It runs ok when I execute it using eclise, but when i try to export to a runnable jar it gives me some errors.

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>

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(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?

Thank you!

解决方案

I was having the same problem, and i solved by following way:

Right click on the project > Properties > Java Build Path > Order and Export, and select the libraries

Right click on the project > Export... > Runnable JAR file > Copy required libraries into a sub-folder next to the generated JAR

这篇关于项目在Eclipse中正常运行,但在导出到可运行jar时不会运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆