来自Ant Ivy build的gwt 2.3 gwt-servlet-deps.jar
我正在尝试获得一个简单的GWT2.3项目,该项目在DevMode中使用一个构建。我在2.3之前的GWT项目中使用过Ivy(特别是GWT 2.0.x),并且以下依赖项(在我的Ivy模块xml文件中)在过去也适用于我:(我已经删除了Ivy配置的特定名称,并在下面显示为“…” …我甚至认为我有这个想法是非常糟糕的(我似乎永远是常春藤和梅文世界的新手),但是,唉,我仍然犯同样的错误 显然,Java-to-Javascript编译器希望获得源代码,而不仅仅是字节码jar,但我不知道如何告诉Ivy去获取它们。我觉得我很接近,因为我发现了一个Ant任务,它将两个验证jar复制到lib中(字节码和源代码),但是我需要一些帮助来连接常春藤世界的点来自Ant Ivy build的gwt 2.3 gwt-servlet-deps.jar,gwt,ant,maven,ivy,bean-validation,Gwt,Ant,Maven,Ivy,Bean Validation,我正在尝试获得一个简单的GWT2.3项目,该项目在DevMode中使用一个构建。我在2.3之前的GWT项目中使用过Ivy(特别是GWT 2.0.x),并且以下依赖项(在我的Ivy模块xml文件中)在过去也适用于我:(我已经删除了Ivy配置的特定名称,并在下面显示为“…” …我甚至认为我有这个想法是非常糟糕的(我似乎永远是常春藤和梅文世界的新手),但是,唉,我仍然犯同样的错误 显然,Java-to-Javascript编译器希望获得源代码,而不仅仅是字节码jar,但我不知道如何告诉Ivy去获取它们
如何告诉Ivy获取源jar?如果存储库是Ivy存储库(工件的Ivy.xml文件),这个答案可能会有帮助: 您需要指定验证api的配置,其中包括源代码
<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA" conf="compile->sources"/>
其中compile是您的本地配置,sources是带有源代码的jar的配置
用于验证的ivy.xml api必须如下所示(我不知道它在您的存储库中是什么样子):
这将告诉ivy有两个JAR可用于验证api。一个普通的(编译)和一个特殊的(带源代码)。您必须指定要检索的配置。
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"
xmlns:m="http://ant.apache.org/ivy/maven">
<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA">
<artifact name="validation-api"/>
<artifact name="validation-api" m:classifier="sources"/>
</dependency>
多亏了菲利佩·索萨你能重现菲利佩的结果吗?我尝试了一下,但得到了一个错误:不可能通过ivy检索:java.lang.RuntimeException:检索模块javax.validation的多个工件时出现问题#validation api;1.0.0.GA被检索到同一个文件!更新检索模式以修复此错误。
我不确定在本文中“检索模式”是什么意思。我想你给了我所需要的支持。经过一些阅读和实验,我发现我需要修改驱动ivy的Ant构建文件中ivy:retrieve
元素的pattern
属性上的模式。特别是,我需要在结尾添加括号分类器位:
有趣。我在常春藤模块文件中没有看到出版物
元素。visibility=“public”
是您的解决方案的基本元素吗?在阅读了publications标签并注意到它表示用于描述此模块发布的工件后,我感到困惑:我不是validation api Ivy模块的维护者。您是否建议他们必须这样做?如果您的存储库包含ivy工件,那么ivy.xml应该包含这样的信息。但如果它是一个maven存储库,那么另一个答案可能是最好的方法;)
<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA" conf="..."/>
<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA" conf="compile->sources"/>
<configurations>
<conf name="compile" visibility="public"/>
<conf name="source" visibility="public"/>
</configurations>
<publications>
<artifact name="validation-api" type="jar" conf="compile" ext="jar"/>
<artifact name="validation-api-src" type="jar" conf="source" ext="jar"/>
</publications>
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"
xmlns:m="http://ant.apache.org/ivy/maven">
<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA">
<artifact name="validation-api"/>
<artifact name="validation-api" m:classifier="sources"/>
</dependency>