我在导入 1 月 20 日标题为“以数据为中心的富互联网应用程序的秘诀”的 Vaadin 博客文章底部的 SimpleCRM 示例应用程序 (vaadin-jpa-app) 时遇到了一些问题(链接:https://vaadin .com/blog/-/blogs/a-recipe-for-a-data-centric-rich-internet-application )
如README.md中所述,从https://hub.jazz.net/git/vaadin/vaadin-jpa-app git克隆存储库后,我尝试将该项目作为Maven项目导入Eclipse Luna但不幸收到以下与 pom.xml 文件相关的错误:
vaadin-maven-plugin:7.3.7:resources vaadin-maven-plugin:7.3.7:update-theme vaadin-maven-plugin:7.3.7:update-widgetset
无论如何,我都尝试将应用程序部署到我的 WebSphere Liberty Profile Server,但出现“找不到上下文根”错误。
我还注意到,在 WebSphere Application Server Liberty Profile 下的 server.xml 文件中,在复制“ README.md 的“本地开发”部分(来自https://hub.jazz.net/project/vaadin/vaadin-jpa-app/overview)
更熟悉这个过程的人可以指导我完成我应该做什么吗?将不胜感激。谢谢!
(开始程序)
准备:
1) 在 Eclipse 中,我通过 Eclipse Marketplace ( http://marketplace.eclipse.org/content/ibm-websphere-application-server-liberty-profile-developer-tools-luna-0 )安装了 WebSphere Application Server Liberty Profile
2) 在 Eclipse 的 Enterprise Explorer 下,在 WebSphere Application Server Liberty Profile | 服务器 | 默认服务器 | server.xml,我已经添加了自述文件中概述的 JDBC 驱动程序配置片段。我还根据您发布的代码段修改了代码。
3)我在自述文件中提到的相应目录中添加了一个 derby.jar 文件
4)我安装了 m2e-wtp 连接器(http://marketplace.eclipse.org/content/maven-java-ee-integration-eclipse-wtp-luna)
5)使用 Git Shell,我 git clone https://hub.jazz.net/git/vaadin/vaadin-jpa-app
部署应用程序:
6) 之后,在 Eclipse 中,我将刚刚克隆的 vaadin-jpa-app 目录导入为“现有 Maven 项目”。这将在 Eclipse Enterprise Explorer 中创建一个 vaadin-jpa-app 项目和一个 vaadin-jpa-applicationEAR 项目。
7)此时,我前面描述的三个“错误”通过选择“不执行(添加到 pom)”作为每个“错误”的操作来纠正。(描述:放置元数据,告诉 m2e 忽略将 Maven 插件添加到构建的 pom 中的执行。)
8)我右键单击“vaadin-jpa-application [vaadin-jpa-app master]”项目并选择Run As | Maven 安装。
9)我右键单击“vaadin-jpa-application [vaadin-jpa-app master]”项目并选择Run As | 在服务器上运行。
10) 我选择 localhost 下的 WebSphere Application Server Liberty Profile 并确保只有 vaadin-jpa-application(而不是 vaadin-jpa-applicationEAR)在“Configured:”列下。这会产生 404 错误。
(开始控制台输出)
Launching defaultServer (WebSphere Application Server 8.5.5.4/wlp-1.0.7.cl50420141211-1039) on Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_25-b18 (en_US)
[AUDIT ] CWWKE0001I: The server defaultServer has been launched.
[AUDIT ] CWWKZ0058I: Monitoring dropins for applications.
[ERROR ] SRVE9990E: The class org.vaadin.presentation.Servlet has a @WebServlet annotation but does not implement the javax.servlet.http.HttpServlet interface.
[ERROR ] SRVE9991E: The class org.vaadin.presentation.CompressionFilter has a @WebFilter annotation but does not implement the javax.servlet.Filter interface.
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
Exception : java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
Exception : java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWNEN0049W: Resource annotations on the methods of the org.vaadin.backend.CustomerService class will be ignored. The annotations could not be obtained because of the exception : <openjpa-2.2.3-SNAPSHOT-r422266:1595313 nonfatal general error> org.apache.openjpa.util.GeneralException: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
Exception : java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
[ERROR ] CNTR4006E: The CustomerService enterprise bean in the vaadin-jpa-application.war module of the vaadin-jpa-application application failed to start. Exception: <openjpa-2.2.3-SNAPSHOT-r422266:1595313 nonfatal general error> org.apache.openjpa.util.GeneralException: Lcom/vividsolutions/jts/geom/Point;
at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:164)
at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:126)
at org.apache.openjpa.persistence.PersistenceProviderImpl$ClassTransformerImpl.transform(PersistenceProviderImpl.java:290)
at com.ibm.ws.jpa.management.JPAPUnitInfo.transformClass(JPAPUnitInfo.java:1380)
at [internal classes]
Caused by: java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2575)
at java.lang.Class.getDeclaredFields(Class.java:1908)
at org.apache.openjpa.lib.util.J2DoPrivHelper$7.run(J2DoPrivHelper.java:297)
at org.apache.openjpa.lib.util.J2DoPrivHelper$7.run(J2DoPrivHelper.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.openjpa.persistence.PersistenceMetaDataDefaults.determineImplicitAccessType(PersistenceMetaDataDefaults.java:366)
at org.apache.openjpa.persistence.PersistenceMetaDataDefaults.determineAccessType(PersistenceMetaDataDefaults.java:334)
at org.apache.openjpa.persistence.PersistenceMetaDataDefaults.populate(PersistenceMetaDataDefaults.java:276)
at org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository.java:920)
at org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository.java:905)
at org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.getMetaData(AnnotationPersistenceMetaDataParser.java:752)
at org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseClassAnnotations(AnnotationPersistenceMetaDataParser.java:545)
at org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parse(AnnotationPersistenceMetaDataParser.java:415)
at org.apache.openjpa.persistence.PersistenceMetaDataFactory.load(PersistenceMetaDataFactory.java:260)
at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:586)
at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:396)
at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:388)
at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:286)
at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:257)
at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:146)
... 4 more
Caused by: java.lang.ClassNotFoundException: Could not find class 'com.vividsolutions.jts.geom.Point' as resource 'com/vividsolutions/jts/geom/Point.class'
... 29 more
[AUDIT ] CWWKT0016I: Web application available (default_host): http://localhost:9080/vaadin-jpa-application/
[AUDIT ] CWWKZ0001I: Application vaadin-jpa-application started in 4.171 seconds.
[AUDIT ] CWWKF0011I: The server defaultServer is ready to run a smarter planet.
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
Exception : java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
Exception : java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWNEN0049W: Resource annotations on the methods of the org.vaadin.backend.CustomerService class will be ignored. The annotations could not be obtained because of the exception : <openjpa-2.2.3-SNAPSHOT-r422266:1595313 nonfatal general error> org.apache.openjpa.util.GeneralException: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
Exception : java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;