Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java web应用程序中的Eclipselink静态编织-Eclipse_Java_Eclipse_Jpa_Ant_Eclipselink - Fatal编程技术网

Java web应用程序中的Eclipselink静态编织-Eclipse

Java web应用程序中的Eclipselink静态编织-Eclipse,java,eclipse,jpa,ant,eclipselink,Java,Eclipse,Jpa,Ant,Eclipselink,我目前正在从事开发Java web应用程序的项目。我使用ideeclipse 作为数据层,我使用EclipseLink(2.6)JPA。Web应用程序在Tomcat Web服务器(7)上运行。现在我意识到,由于性能问题,我需要对实体使用延迟抓取 经过一些研究,我发现我需要使用“静态编织”,根据手册页面,我发现我有3种方法可以做到这一点:Ant、Maven或使用命令行 由于我没有使用Ant、Maven或命令行选项的经验,我现在不知道如何继续。我想选择最简单的解决方案,这是蚂蚁(从我乞丐的角度)。你

我目前正在从事开发Java web应用程序的项目。我使用ideeclipse

作为数据层,我使用EclipseLink(2.6)JPA。Web应用程序在Tomcat Web服务器(7)上运行。现在我意识到,由于性能问题,我需要对实体使用延迟抓取

经过一些研究,我发现我需要使用“静态编织”,根据手册页面,我发现我有3种方法可以做到这一点:Ant、Maven或使用命令行

由于我没有使用Ant、Maven或命令行选项的经验,我现在不知道如何继续。我想选择最简单的解决方案,这是蚂蚁(从我乞丐的角度)。你能推荐一下吗

我的项目分为两个项目:

  • JPA项目,具有持久性实体和数据库操作
  • 带有servlet和JSP的Java应用程序,此项目包含指向JPA项目的链接
我在以下服务器上运行该应用程序:

  • 远程Tomcat服务器—然后生成包含这两个项目的.war文件,然后将其上载到服务器上
  • localhost—然后我直接从Eclipse运行该应用程序(运行方式->localhost)
有人能告诉我该怎么继续吗

我是否应该指定两个Ant构建步骤,首先从我的JPA项目创建.jar,然后进行静态编织并继续将web项目构建到.war?到目前为止,我只找到生成.jar应用程序的Ant构建,不知道它与web应用程序有何不同。有教程吗

有人能分享一下吗?我在这方面完全是新手——也许我错过了一些简单的方法。我的主要目标是拥有包含静态编织实体的.war文件,第二个目标是在TomcatLocalHost服务器上自动部署,就像我现在在EclipseIDE中所做的那样


谢谢。

我只能代表事情的专业一面说话,因为这是我有经验的一面

pom.xml
中的
plugins
下,您必须添加maven staticweave插件:

<plugin>    
  <groupId>de.empulse.eclipselink</groupId>         
  <artifactId>staticweave-maven-plugin</artifactId>
    <executions>
      <execution>
        <phase>process-classes</phase>
            <goals>
                <goal>weave</goal>
            </goals>
        <configuration>             
           <persistenceXMLLocation>META-INF/persistence.xml</persistenceXMLLocation>>
        </configuration>
      </execution>
    </executions>           
</plugin>
同样,您可能需要更改平台、所需的日志记录级别和其他参数。 如果您将所有的
eclipselink.weaving.*
-参数都保留在外,它们将具有默认值

静态编织发生在编译阶段之后maven生命周期的
过程类
阶段。如果将打包设置为
war
,则将获得一个
*.war
-文件,然后可以部署该文件

如果您真的希望通过ant任务来完成它,那么您应该看看

不过,我真的无法回答任何有关这方面的问题

<properties>
<property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.H2Platform" />
            <property name="eclipselink.weaving" value = "static"/>
            <property name="eclipselink.weaving.internal" value="true"/>
            <property name="eclipselink.weaving.lazy" value="true" />
            <property name="eclipselink.weaving.changetracking" value="true" />
            <property name="eclipselink.weaving.fetchgroups" value="true" />
            <property name="eclipselink.weaving.eager" value="false" />
            <property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
            <property name="eclipselink.ddl-generation.output-mode" value="database" />
            <property name="eclipselink.logging.level" value="FINEST" />
 </properties>