首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Eclipse WTP实现EclipseLink的静态编织

使用Eclipse WTP实现EclipseLink的静态编织
EN

Stack Overflow用户
提问于 2011-08-11 21:41:59
回答 1查看 789关注 0票数 2

我在Eclipse WTP中的Tomcat上运行了一个项目,该项目使用一些JPA实体进行部署。我想在这些实体上启用ChangeTracking,但这需要启用编织。因为Tomcat不支持动态编织,所以我需要使用静态编织。

这个是可能的吗?Eclipse的Dali插件似乎没有任何用于静态编织的工具。

EN

回答 1

Stack Overflow用户

发布于 2012-04-19 08:59:39

是的,很有可能我一直都在这么做。我还在Eclipse WTP中使用了Jetty (J2EE预览版),它非常快,而且在编织方面效果很好。创建一个weave.xml文件,ant可以像这样处理:

代码语言:javascript
复制
<?xml version="1.0"?>
<project name="MyProject" default="weaving" basedir=".">
  <property environment="env"/> 

    <path id="weavingclasspath"> 
      <fileset dir="${basedir}\\web\\WEB-INF\\lib">
        <include name="**/*.jar"/>
      </fileset>
        <fileset dir="${basedir}\\antlib">
        <include name="**/*.jar"/>
      </fileset>
      <pathelement location="classes"/>
      <dirset dir="${basedir}\\build">
        <include name="**/classes"/>
      </dirset>
    </path>


    <target name="define.task" description="New task definition for EclipseLink static weaving" > 
      <taskdef name="weave" classname="org.eclipse.persistence.tools.weaving.jpa.StaticWeaveAntTask">
        <classpath refid="weavingclasspath"/> 
        </taskdef>
    </target> 

    <target name="weaving" description="perform weaving" depends="define.task"> 
        <weave loglevel="WARNING" source="${basedir}\\build\\classes\\"  target="${basedir}\\build\\classes\\">
     <classpath refid="weavingclasspath"/> 
     </weave>
    </target> 

</project> 

将其放在项目根目录中,并将其作为Ant Task执行。确保在完成时刷新项目,因为实体的所有.class文件都将被编织。我实际上将这个任务链接到eclipse构建过程,所以它是自动的。您可能需要为您的项目修改ant脚本中的一些文件路径,以使其正常工作,但您应该明白这一点。我的antlib中有servlet.jar (我记不清为什么了),而我的WEB-INF/lib中有我所有的web项目jars以及eclipselink链接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7026903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档