- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请原谅重复的帖子,但我很想知道这个问题的答案。
我想要一些关于我正在采取的方法的建议。我正在使用 Ivy 进行依赖管理,并且能够毫无问题地下载和使用我所有的 jar 文件。我还想运行 <schemavalidate>
Ant 中的任务,并希望使用 Ivy 按指定下载 xsd 和 dtd,从而消除了在初始下载后对网络连接的需要,并减少了我的构建时间。我想我有解决方案但想运行它通过一些额外的眼睛进行健全性检查和可能的改进建议。以下是我的构建脚本的相关部分。第一次检索调用使用我的默认 ivysettings.xml,第二次调用使用特定于检索 xsd 和 dtd 的设置文件。如有任何反馈,我们将不胜感激。
build.xml:
<project etc>
...
<target name="resolve" description="Retrieve dependencies with ivy">
<ivy:retrieve refresh="true"
sync="true"
conf="compile,war,runtime,test,findbugs"
pattern="${ivy.lib.dir}/[conf]/[artifact]-[revision].[ext]"/>
<ivy:settings id="xsd.settings"
file="${search.server.home}/ivysettings-xsd.xml"/>
<ivy:retrieve settingsref="xsd.settings"
refresh="false"
sync="false"
conf="xmlentities"
pattern="${ivy.lib.dir}/[conf]/[artifact].[ext]"/>
</target>
...
</project>
Ivy .xml:
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
<dependencies>
<!-- Jar files defined here but removed for brevity -->
...
<dependency org="beans" name="spring-beans" rev="3.0" conf="xmlentities->default">
<artifact name="spring-beans" type="xsd"/>
</dependency>
<dependency org="context" name="spring-context" rev="3.0" conf="xmlentities->default">
<artifact name="spring-context" type="xsd"/>
</dependency>
<dependency org="mvc" name="spring-mvc" rev="3.0" conf="xmlentities->default">
<artifact name="spring-mvc" type="xsd"/>
</dependency>
<dependency org="tool" name="spring-tool" rev="3.0" conf="xmlentities->default">
<artifact name="spring-tool" type="xsd"/>
</dependency>
<dependency org="util" name="spring-util" rev="3.0" conf="xmlentities->default">
<artifact name="spring-util" type="xsd"/>
</dependency>
<dependency org="javaee" name="javaee" rev="5" conf="xmlentities->default">
<artifact name="javaee_5" type="xsd"/>
<artifact name="web-app_2_5" type="xsd"/>
<artifact name="javaee_web_services_client_1_2" type="xsd"/>
<artifact name="jsp_2_1" type="xsd"/>
</dependency>
<dependency org="xmlschema" name="xmlschema" rev="2001" conf="xmlentities->default">
<artifact name="XMLSchema" type="xsd"/>
<artifact name="xml" type="xsd"/>
</dependency>
</dependencies>
</ivy-module>
ivysettings-xsd.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
<settings defaultResolver="namespaces"/>
<resolvers>
<chain name="namespaces" returnFirst="true">
<url name="w3-org-ns" checksums="">
<artifact pattern="http://www.w3.org/2001/[artifact].[ext]"/>
</url>
<url name="javaee-ns" checksums="">
<artifact pattern="http://java.sun.com/xml/ns/javaee/[artifact].[ext]"/>
</url>
<url name="spring-ns" checksums="">
<artifact pattern="http://www.springframework.org/schema/[organisation]/[artifact].[ext]"/>
</url>
</chain>
</resolvers>
</ivysettings>
本
最佳答案
有趣的问题。缓存架构文件可以实现离线验证。
正如 Tom 所说,我认为只需要一次检索。 (我的示例同时获取 jar 和模式文件)
<ivy:retrieve pattern="${lib.dir}/[conf]/[artifact]-[revision].[ext]"/>
我已经对 ivy 和设置文件进行了一些更改。
我用过 ivy extra attributes协助生成 Spring Schema URL:
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
<info organisation="com.myspotontheweb.demo" module="spring"/>
<configurations defaultconfmapping="compile->default">
<conf name="compile" description="Compile dependencies"/>
<conf name="schemas" description="XML schema files"/>
</configurations>
<dependencies>
<!-- Compile depedencies -->
<dependency org="org.springframework" name="spring-core" rev="3.0.6.RELEASE"/>
<!-- Schema dependencies -->
<dependency org="org.springframework" name="schemas" rev="3.0" conf="schemas->default">
<artifact name="spring-beans" e:framework="beans" type="xsd"/>
<artifact name="spring-context" e:framework="context" type="xsd"/>
<artifact name="spring-mvc" e:framework="mvc" type="xsd"/>
<artifact name="spring-tool" e:framework="tool" type="xsd"/>
<artifact name="spring-util" e:framework="util" type="xsd"/>
</dependency>
<dependency org="com.sun.java" name="schemas" rev="5" conf="schemas->default">
<artifact name="javaee_5" type="xsd"/>
<artifact name="web-app_2_5" type="xsd"/>
<artifact name="javaee_web_services_client_1_2" type="xsd"/>
<artifact name="jsp_2_1" type="xsd"/>
</dependency>
<dependency org="org.w3" name="schemas" rev="2001" conf="schemas->default">
<artifact name="XMLSchema" type="xsd"/>
<artifact name="xml" type="xsd"/>
</dependency>
</dependencies>
</ivy-module>
将 ivy 配置为默认使用 Maven 存储库。使用modules将特殊模式模块路由到您的 URL 解析器的声明。
<ivysettings>
<settings defaultResolver="maven-repos"/>
<resolvers>
<chain name="maven-repos">
<ibiblio name="central" m2compatible="true"/>
..
Other Maven repositories go here
..
</chain>
<url name="spring-schemas">
<artifact pattern="http://www.springframework.org/schema/[framework]/[artifact].[ext]"/>
</url>
<url name="javaee-schemas">
<artifact pattern="http://java.sun.com/xml/ns/javaee/[artifact].[ext]"/>
</url>
<url name="w3-schemas">
<artifact pattern="http://www.w3.org/2001/[artifact].[ext]"/>
</url>
</resolvers>
<modules>
<module organisation="org.springframework" name="schemas" resolver="spring-schemas"/>
<module organisation="com.sun.java" name="schemas" resolver="javaee-schemas"/>
<module organisation="org.w3" name="schemas" resolver="w3-schemas"/>
</modules>
</ivysettings>
关于ant - 使用 Ivy 解决 XSD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3132185/
我有一个主 Ivy 项目,其他人通过 svn:externals 属性将其包含在他们的项目中。该项目包含 Ivy jar,连接到我们项目的默认 ivysettings.xml 文件,以及一些允许我标准
我正在尝试将文件库添加到 Ivy ,但它不起作用。 以下是使用的文件: Ivy .xml ivysettings.xml 构建文件
我以为我不需要问这个,但我没有任何进展。 这个问题的解决方案: How are maven scopes mapped to ivy configurations by ivy实际上解决了问题,但在其
考虑如下 ivy.xml: 当我运行 Ivy 时,它会获取 EHCache 的所有依赖项
我来自 Maven 背景。我正在从事的项目不是基于 Java 的。但是,需要使用独立的 Ivy 进行依赖管理。存储库管理器是 Nexus。 该项目产生了几个 zip 工件,需要通过独立的 Ivy 将它
似乎没有 ivy:unpublish 任务(例如,参见 here)。 所以,我认为应该在文件系统级别手动或通过删除 ~/.ivy2/local 子文件夹的 Ant 任务执行取消发布? (当目标是从本地
有没有人有使用 Ivy 的具体例子或 与 delivertarget 的任务属性做递归交付?官方文档相当......稀疏。是否有关于何时使用它而不是正常的 Ant“父”构建机制(例如, )来进行递归
我正在使用 ivy,我工作的公司有一些有趣的小 ivy 和 ant 教程。 当在依赖项部分使用时,每个教程都有助于完全绕过箭头在 ivy 构建 xml 文件中的作用。 因此,鉴于此设置:
有关 Apache Ivy 的三个简单问题: (1) 在我们的项目中,我们使用了 100 多个“通用”JAR(log4j、junit、commons-cli 等)。我们是否必须为所有这些文件编写 iv
我正在使用 ivy,我工作的公司有一些有趣的小 ivy 和 ant 教程。 当在依赖项部分使用时,每个教程都有助于完全绕过箭头在 ivy 构建 xml 文件中的作用。 因此,鉴于此设置:
是否有人测试过如何在启用安全性的 Archiva 中部署工件。我有以下配置 我的ivysettings.xml 我的build.xml
解析了我的 ivy.xml 文件后,我想创建一个新的 resolved-ivy.xml 文件,其中包含所有传递依赖项 在解析中找到。 这有可能吗? 这与交付不同,交付(我相信)只从您的 ivy.xml
我有一个本地 Artifactory 存储库,其中有两个用于 commons-logging 的 jar 。 : 一个给 version 1.0.4一个用于 version 1.1.1 .我正在尝试使
我正在使用 ~/.sbt/repositories文件告诉 sbt 0.13.5 要从哪些存储库中检索。该文件仅包含 local和 file://具有与标准 sbt 非常相似的自定义布局的存储库,具有
在 Gradle 中,我们配置了一个本地 Maven 存储库,并将工件上传到那里以用于我在其他项目的本地构建中使用。 我更喜欢使用 Ivy 存储库(因此我可以为工件名称使用自定义模式)。 您如何配置
更新快照依赖项时,我无法让 Ivy 更新缓存。解析器(具有以下设置: 一个示例 Artifactory 文件名(在 Artifactory 中)是: my-jar-1.999-SNAPSHOT.ja
我在设置 sbt 时遇到了问题。我下载了一个“zip”并展开它,但是当我运行 sbt 命令时,发生了错误。 module not found: org.scala-sbt#sbt;0.13.8
Maven 存储库,例如 Maven Repository提供最广泛的依赖管理项目。 Ivy 提供了访问 maven 存储库并从那里下载 Artifact 的可能性。这些存储库中只有 pom 文件,没
有没有办法在我调用 ivy:retrieve 时选择使用哪个 ivy.xml 文件? 寻找 at the documentation看来我可以使用 settingsRef 属性来选择要使用的 IVY
这是我的 ivy.xml 的示例: 使用 ivy 1.0,我可以下载这两个工件 当我将版本升级到 ivy-2.0.0 时,仅下载其中一个工件。 Ivy 设置中是否有我必须指定的内容
我是一名优秀的程序员,十分优秀!