Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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 ServiceBuilder不编译依赖于IvyJAR的代码_Java_Ant_Liferay_Ivy - Fatal编程技术网

Java ServiceBuilder不编译依赖于IvyJAR的代码

Java ServiceBuilder不编译依赖于IvyJAR的代码,java,ant,liferay,ivy,Java,Ant,Liferay,Ivy,我有一个基本的程序,其中包含一个简单的实体,用于服务生成器,没有用于web服务调用的属性。我在本地依赖于javax.ws.rs-api-2.0.1.jar中包含的javax.ws.rs库 在IDE中,代码不会显示任何错误。我可以在project explorer窗口中看到常春藤依赖项。但是,当我调用buildservices命令时,它无法使用外部jar中的类编译代码 依赖应用程序中的JAR时是否遗漏了一步?这不应该自动链接吗 蚂蚁输出: [javac] Compiling 4 source

我有一个基本的程序,其中包含一个简单的实体,用于服务生成器,没有用于web服务调用的属性。我在本地依赖于
javax.ws.rs-api-2.0.1.jar
中包含的
javax.ws.rs

在IDE中,代码不会显示任何错误。我可以在project explorer窗口中看到常春藤依赖项。但是,当我调用buildservices命令时,它无法使用外部jar中的类编译代码

依赖应用程序中的JAR时是否遗漏了一步?这不应该自动链接吗

蚂蚁输出:

   [javac] Compiling 4 source files to C:\liferay\liferay-developer-studio\liferay-plugins-sdk-6.2\portlets\myApp-portal-portlet\docroot\WEB-INF\service-classes
    [javac] ----------
    [javac] 1. ERROR in C:\liferay\liferay-developer-studio\liferay-plugins-sdk-6.2\portlets\myApp-portal-portlet\docroot\WEB-INF\service\com\example\myApp\portal\service\ExternalApiLocalService.java (at line 69)
    [javac]     public javax.ws.rs.client.WebTarget myAppRestApi();
    [javac]            ^^^^^^^^^^^^^^^^^^
    [javac] javax.ws.rs.client cannot be resolved to a type
    [javac] ----------
    [javac] 2. ERROR in C:\liferay\liferay-developer-studio\liferay-plugins-sdk-6.2\portlets\myApp-portal-portlet\docroot\WEB-INF\service\com\example\myApp\portal\service\ExternalApiLocalService.java (at line 71)
    [javac]     public javax.ws.rs.client.WebTarget myAppRegisterService();
    [javac]            ^^^^^^^^^^^^^^^^^^
    [javac] javax.ws.rs.client cannot be resolved to a type
    [javac] ----------
    [javac] 3. ERROR in C:\liferay\liferay-developer-studio\liferay-plugins-sdk-6.2\portlets\myApp-portal-portlet\docroot\WEB-INF\service\com\example\myApp\portal\service\ExternalApiLocalService.java (at line 73)
    [javac]     public javax.ws.rs.client.WebTarget myAppValidPaService();
    [javac]            ^^^^^^^^^^^^^^^^^^
    [javac] javax.ws.rs.client cannot be resolved to a type
    [javac] ----------
    [javac] ----------
    [javac] 4. ERROR in C:\liferay\liferay-developer-studio\liferay-plugins-sdk-6.2\portlets\myApp-portal-portlet\docroot\WEB-INF\service\com\example\myApp\portal\service\ExternalApiLocalServiceClp.java (at line 127)
    [javac]     public javax.ws.rs.client.WebTarget myAppRestApi() {
    [javac]            ^^^^^^^^^^^^^^^^^^
    [javac] javax.ws.rs.client cannot be resolved to a type
    [javac] ----------
    [javac] 5. ERROR in C:\liferay\liferay-developer-studio\liferay-plugins-sdk-6.2\portlets\myApp-portal-portlet\docroot\WEB-INF\service\com\example\myApp\portal\service\ExternalApiLocalServiceClp.java (at line 146)
    [javac]     return (javax.ws.rs.client.WebTarget)ClpSerializer.translateOutput(returnObj);
    [javac]             ^^^^^^^^^^^^^^^^^^
    [javac] javax.ws.rs.client cannot be resolved to a type
    [javac] ----------
    [javac] 6. ERROR in C:\liferay\liferay-developer-studio\liferay-plugins-sdk-6.2\portlets\myApp-portal-portlet\docroot\WEB-INF\service\com\example\myApp\portal\service\ExternalApiLocalServiceClp.java (at line 150)
    [javac]     public javax.ws.rs.client.WebTarget myAppRegisterService() {
    [javac]            ^^^^^^^^^^^^^^^^^^
    ...........................etc

BUILD FAILED
C:\liferay\liferay-developer-studio\liferay-plugins-sdk-6.2\build-common-plugin.xml:262: The following error occurred while executing this line:
C:\liferay\liferay-developer-studio\liferay-plugins-sdk-6.2\build-common.xml:634: Compile failed; see the compiler error output for details.
ivy.xml:

<?xml version="1.0"?>
<ivy-module
    version="2.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"
>
    <info module="portlet_liferay_faces_alloy_tmpl" organisation="com.liferay" />

    <dependencies defaultconf="default">
        ...
        <dependency name="jersey-common" org="org.glassfish.jersey.core" rev="2.12" transitive="true" />
        <dependency name="jersey-client" org="org.glassfish.jersey.core" rev="2.12" transitive="true" />
        <dependency name="html-json" org="org.glassfish.jersey.media" rev="2.12" transitive="true"/>
    </dependencies>
</ivy-module>

...
亲切问候,,
thenaglecode.

您几乎自己回答了这个问题,但这并不十分明显:当servicebuilder运行时,它执行一些java代码,这些代码也需要与项目的类路径一起运行:servicebuilder将编译/检查您的代码以生成适当的接口等

因此,您还需要将项目的依赖项注入servicebuilder流程。当您从IDE运行servicebuilder时,它最有可能运行Ant任务,这将从webapp获取所有明显的(到Ant的)依赖项(例如,它在
WEB-INF/lib
和appserver的全局类路径中找到的内容)。Ant进程不会扫描任何ivy、maven或其他构建工具的依赖项声明——不幸的是,您必须添加此依赖项两次