点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在寻找在SAP Cl...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在寻找在SAP Cl...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我正在寻找在SAP Cloud Platform上运行JAVA应用程序时遇到的麻烦的答案。
我需要帮助来了解我做错了什么。
我使用Eclipse Oxygen.2 Release(4.7.2)作为开发工具。 尝试使用org.apache.http.client.HttpClient方法获取数据。
我创建了marven项目并使用下一个库列表:
导入org.apache.http.HttpEntity; 导入org.apache.http.HttpResponse; 导入org.apache.http.client.HttpClient; 导入org.apache.http.client.methods.HttpGet;
.classpath文件包含:
classpathentry kind =" lib" path =" lib/commons-codec-1.10.jar"/>
pom.xml文件包含必需的依赖项:
<依赖性> org.apache.httpcomponents httpclient 4.5.5 org.apache.httpcomponents httpcore 4.4.9
Buildpath还包含所有需要的jar文件:
应用程序的核心逻辑是:
HttpClient httpClient = null; 字符串destinationName = request.getParameter(" destname"); 尝试{ //获取HTTP目标 上下文ctx = new InitialContext(); HttpDestination destination = null; 如果(destinationName!= null){ DestinationFactory destinationFactory =(DestinationFactory)ctx.lookup(DestinationFactory.JNDI_NAME); destination =(HttpDestination)destinationFactory.getDestination(destinationName); }其他{ destinationName =" SND"; destination =(HttpDestination)ctx.lookup(" java:comp/env/" + destinationName); }
Marven项目的构建成功:
[INFO] -------------------------------------------- ---------------------------- [INFO]建立成功 [INFO] ----------------------------------------------- ------------------------- [INFO]总时间:8.030 s [INFO]完成于:2018-03-15T01:50:27 + 03:00 [INFO]最终内存:18M/80M [INFO] ----------------------------------------------- ---------------------
但是当我在HANA Cloud Platform上尝试其他操作时,服务器返回错误:
2018 03 14 22:10:39#+ 00#ERROR#org.apache.catalina.core.ContainerBase ## anonymous#localhost-startStop-3#na#d9993445343ial#jcodemo#web ## na#na#na#na #na#ContainerBase.addChild:启动:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/SAPAPI]] 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162) 在org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015) 在org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991) 在org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) 在org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127) 在org.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:2020) 在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471) 在java.util.concurrent.FutureTask.run(FutureTask.java:262) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:622) 在java.lang.Thread.run(Thread.java:807) 造成原因:java.lang.NoClassDefFoundError:org/apache/http/client/methods/HttpUriRequest 在java.lang.Class.getDeclaredFields0(本地方法) 在java.lang.Class.privateGetDeclaredFields(Class.java:2532) 在java.lang.Class.getDeclaredFields(Class.java:1829) 在org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106) 在org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:270) 在org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:139)处 在org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65) 在org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:417) 在org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:891) 在org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388) 在org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5519) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) ...省略了10个通用框架 引起原因:java.lang.ClassNotFoundException:org.apache.http.client.methods.HttpUriRequest 在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892) 在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735) ...省略了24个共同的框架
我阅读了所有有关堆栈溢出的文章,并尝试了所有可以谷歌搜索的变体,但没有一个有帮助。
我做错了什么,应该在哪里定义依赖项,以使代码可执行。
我将不胜感激。
非常感谢。
(53.1 kB)
安迪,
请尝试将以下内容添加到pom.xml中,然后再次尝试查看该问题是否可以解决。
约瑟夫
一周热门 更多>