当前位置: 首页 > 知识库问答 >
问题:

导入Vaadin SimpleCRM示例应用程序进行本地开发的困难

程鸿畅
2023-03-14

我在导入SimpleCRM示例应用程序(vaadin-jpa-app)时遇到了一些麻烦,该应用程序位于1月20日Vaadin博客文章“以数据为中心的富internet应用程序的配方”的底部(链接:https://Vaadin.com/Blog/-/blogs/a-recipe-for-a-data-centric-rich-internet-application)

按照readme.md中的描述,在git从https://hub.jazz.net/git/vaadin/vaadin-jpa-app克隆存储库之后,我试图将项目作为Maven项目导入到Eclipse Luna中,但不幸地收到了以下与pom.xml文件相关的错误:

vaadin-maven-plugin:7.3.7:参考资料vaadin-maven-plugin:7.3.7:update-theme vaadin-maven-plugin:7.3.7:update-widgetset

无论如何,我都试图将应用程序部署到WebSphere Liberty Profile服务器上,但得到一个“上下文根未找到”错误。

我还注意到,在WebSphere Application Server Liberty Profile下的Server.xml文件中,在复制了readme.md(从https://hub.jazz.net/project/vaadin/vaadin-jpa-app/overview)的“本地开发”部分中概述的相关代码后,我看到了一些警告,其中提到“jdbcdriver”和“datasource”元素“未被可用特性启用”

更熟悉这个过程的人能告诉我应该做什么吗?不胜感激。谢了!

准备工作:

1)在Eclipse中,我通过Eclipse Marketplace安装了WebSphere Application Server Liberty配置文件(http://Marketplace.Eclipse.org/content/ibm-websphere-application-server-liberty-profile-developer-tools-luna-0)

2)在Eclipse中的Enterprise Explorer下,在WebSphere Application Server Liberty Profile servers defaultServer Server.xml中,我添加了自述文件中概述的JDBC驱动程序配置代码段。

3)我将derby.jar文件添加到自述文件中提到的适当目录中

4)我安装了m2e-wtp连接器(http://marketplace.eclipse.org/content/maven-java-ee-integration-eclipse-wtp-luna)

5)使用Git Shell,I Git克隆https://hub.jazz.net/Git/vaadin/vaadin-jpa-app

部署应用程序:

6)之后,在Eclipse中,我导入刚刚作为“现有Maven项目”克隆的vaadin-jpa-app目录。这将在Eclipse Enterprise Explorer中创建一个vaadin-jpa-app项目和一个vaadin-jpa-applicationEAR项目。

7)在这一点上,通过选择“do Not Execute(add to pom)”作为每个“错误”的操作,我前面描述的三个“错误”得到了纠正。(描述:放置元数据,告诉m2e忽略将Maven插件添加到构建中的pom中的执行。)

8)右击“vaadin-jpa-application[vaadin-jpa-app master]”项目并选择Run As Maven Install。

9)右键单击“vaadin-jpa-application[vaadin-jpa-app master]”项目并选择Run As Run On Server。

10)在localhost下选择WebSphere Application Server Liberty配置文件,并确保只有vaadin-jpa-application(而不是vaadin-jpa-applicationEAR)在“configured:”列下。

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;

共有1个答案

林修真
2023-03-14

开始时,请确保安装的eclipse没有额外的插件,并且安装了最新版本的liberty profile插件(或其beta版)。其他eclipse插件可能会干扰部署。

还要确保您有示例项目的最新版本(git pull)。Liberty和Vaadin CDI在过去的几个月里发展得很快,可能有一些小的不兼容。

eclipse所说的“错误”只是eclipse不知道它应该如何在内部处理这些构建设置。您只需标记它们,以便eclipse忽略它们,并执行一次完整构建(mvn安装)来编译客户端资源。

如果Eclipse在导入war文件时创建了一个“EAR项目”,只需删除该项目并仅部署war文件。

在server.xml中,必须启用所需的特性。这个应用程序需要servlet、JPA、EBJ lite和CDI,但是仅仅启用整个java ee 6 web配置文件可能更容易,而且几乎同样轻量级,这就是我在我的liberty server中经常使用的:

<!-- Enable features -->
<featureManager>
    <feature>localConnector-1.0</feature>
    <feature>webProfile-6.0</feature>
</featureManager>

如果您按照指令添加了derby jar,并定义了数据源,那么事情就可以正常工作了。如果还有问题请告诉我。

 类似资料:
  • 简介 本文档将主要介绍如何基于 RT-Thread Studio 创建并启动第一个线程。 启动第一个线程 创建线程时,可以在 main.c 文件中加入自己创建线程的代码,也可以另外新建源文件和头文件来存放创建线程的代码,本文将以新建文件的方式创建线程。 启动第一个线程的步骤主要如下 新建源文件及头文件 将头文件路径添加到工程 创建线程 main 函数中调用 新建文件 创建文件夹、源文件及头文件时,

  • 这里有几个可用的网站应用程序示例。为了避免大量的下载。只有”totorial”和”contacts”示例包含到了分发的zip文件。其他的可用按照介绍的描述从源代码构建。你可用很容易的自己构建项,通过http://spring.io/spring-security/网站可用获取更多信息。本章中提到的所有路径是相对于项目的源目录。 Tutorial 示例 本教程样本是一个让你入门的很好的基础的例子。它

  • 本文向大家介绍node.js 和HTML5开发本地桌面应用程序,包括了node.js 和HTML5开发本地桌面应用程序的使用技巧和注意事项,需要的朋友参考一下 HTML5让Web开发人员用纯HTML技术开发富客户端互联网应用或者甚至本地桌面应用成为了可能。HTML5可以将任何普通网站转变成Web应用。HTML5 web 应用不仅具有在桌面浏览器应用中的优势,同时在智能手机和平板中也是开发利器。 在

  • 主要内容:1)创建用户界面,2)创建托管Bean,3)配置应用程序要创建一个JSF应用程序,我们在这里使用NetBeans IDE 8.2。 当然您也可以使用其他Java IDE。 在这里先创建一个项目,之后我们将运行测试它的配置设置。 所以,让我们首先来创建一个新的项目。 步骤1:创建一个新项目 打开NetBeans IDE 8.2,转到【文件】菜单并选择【新建项目】。如下图所示 - 选择类别为【Java Web】和项目为【Web应用程序】。如下图所示 - 输

  • Egg.js应用开发-本地开发 平台流程 本地开发 Egg.js应用开发-本地开发 更新时间:2018-08-09 18:40:14 本章讲解:Egg.js 应用如何开发, 待补充.. 平台流程 进入应用开发界面,可以在页面上看到应用的 AppKey、AppSecret 以及代码仓库信息。 本地开发 克隆代码 git clone git@code.aliyun.com:iot-a124labfag

  • 今天我一直在玩谷歌应用程序脚本,我正在尝试编写一些自定义电子表格函数。我做了一些搜索,但找不到我的问题的答案。 我知道,在谷歌电子表格中,您可以在电子表格的单元格中使用ImportRange,如下所示: 我的问题是,有没有可能在谷歌应用程序脚本中做类似的事情?如果有,怎么做? 我想从另一个电子表格上的工作表(而不是脚本将驻留的电子表格上的工作表)导入一系列单元格。