问题标签 [endorsed]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
4836 浏览

tomcat - 错误:正在从引导类加载器加载 JAXB 2.1 API,但此 RI 需要 2.2 API

我正在尝试将 Java Web 服务部署到 Tomcat 5.5.20 服务器中。我将 Web 服务打包在 Tomcat 的 webapps 目录中的 .war 文件中,我可以看到当我启动 Tomcat 时 .war 文件被提取。

但是,当我启动 Tomcat 时出现以下错误:

/home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib 目录是 JAX-WS 2.2.6 中的所有 jar 文件所在的位置,包括 jaxb-api.jar。

我已经在启动 Tomcat 的 WebNMS 进程的命令中添加了“-Djava.endorsed.dirs=/home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib”,但这没有帮助.

此外,我尝试在 /home/username/WebNMS/jre/lib 目录中添加一个名为“endorsed”的符号链接,该链接指向 /home/username/WebNMS/apache/tomcat/webapps/WebServices/WEB-INF/lib,并且那也没有帮助。

一件有趣的事情是,当我执行“查找 /home/username/WebNMS -name jaxb-api.jar”时,它只会在 /home/username/WebNMS/apache/tomcat/webapps 中找到一个 jaxb-api.jar /WebServices/WEB-INF/lib 目录。没有其他 jaxb-api.jar 文件。所以我不知道为什么错误说正在加载 JAXB 2.1 API,而只有 JAXB 2.2.6 API jar 文件。除非它在 ​​/home/username/WebNMS 目录之外找到了一些东西,但考虑到我尝试了 2 种不同的方法来设置认可的目录,这不应该发生。

0 投票
3 回答
17905 浏览

java - javac找不到符号构造函数服务

我正在借助这本Apache CXF Web 服务开发书学习 CXF,但是,唉,本书的示例项目之一甚至无法编译!

有问题的代码是第 3 章的代码,contractfirst这不是错字问题,因为我使用的是从本书支持站点下载的源代码逐字逐句。

3 个编译错误实际上指向一个问题:

在文件 OrderProcessService.java 中。

初步研究表明这可能是JAX -WS 2.2 与 2.1 的问题,但我不知道如何让这个基于 ANT 的编译环境“支持”JAX-WS 2.2。

我尝试放置一个jaxws-api.jar%JAVA_HOME%\lib\endorsed尝试将该 jar 添加到项目的库列表中,但似乎没有任何帮助。

我没有使用Maven,所以我什至不能将它列为依赖项,并希望这能神奇地解决。

知道如何解决这个问题吗?这样我就可以构建这个非常简单的项目了吗?

0 投票
1 回答
319 浏览

maven - 带有认可的外部目录的 Maven Jetty 插件

我有一个项目有一百多个外部库依赖项,这里我们使用 tomcat 并在服务器的一个目录上配置了这个背书的 jar 库(现在在 $CATALINA_HOME/lib/endorsed 下),所以 webapp 可以在运行时访问这些资源开始。

我想改用jetty,因为tomcat占用了太多内存并且经常崩溃。现在我想知道是否有一个参数可以传递给 maven-jetty-plugin 来指定这个 jar 的文件夹,以便 webapp 类加载器在其类路径中找到它们。

我在配置标签中尝试过extraClasspath,但它似乎只加载类并忽略我设置到的目录中的所有jar(如果我传递jar的全名路径,它会被加载,但我不想设置我在那里需要的每个图书馆)。

在此先感谢您的帮助

更新:我知道这不是标准的 maven 操作,我正在寻找紧急解决方法,因为这个项目非常庞大,我无法按照我的意愿进行重构。但我也预计这个功能并不像乍一看那样棘手。

0 投票
1 回答
6183 浏览

jax-ws - jaxws-api 2.2 not loaded in maven build

I have generated Java code with Apache CXF tool wsdl2java. In the comments of my service it says that I should endorse Jaxws API 2.2 but don't know what it means. In my Maven POM I have this:

On build, I get these errors in Maven:

cannot find symbol symbol : constructor Service(java.net.URL,javax.xml.namespace.QName,javax.xml.ws.WebServiceFeature[])

I have checked JAX-WS API 2.2 and it actually has this constructor...what should I do?

0 投票
1 回答
527 浏览

java - 如何将认可的目录添加到可运行的 jar

我正在为一些可以从命令行使用的 jar 使用背书目录。现在我想用认可的目录使 jar 可运行,以便用户只需单击可运行的 jar 文件即可运行应用程序。

我正在使用 Eclipse Helios 和 Java 6。

谁能告诉我如何完成上述任务。

问候, 阿希什

0 投票
0 回答
1348 浏览

java - Java 背书和 Netbeans

我在编写 Java 时使用 Netbeans 作为 IDE。最近新版本的 NetBeans 已经到来。所以我已经安装了它并导入了我的一个项目组。这个小组有一些使用 jax-ws 的 web 客户端的项目。

我知道升级 Netbeans 时此类项目的所有麻烦,并且我知道如何解决它们(删除认可的库、创建新的 jax-ws 项目等等)。但这一次的情况更加复杂。NetBeans 7.4 使用 JDK 7,我必须在 Java 6 下部署我的项目。当我为 Netbeans 的默认 Java 平台(Java 7)“清理和构建”我的项目时,一切正常,并且没有使用 JAX-WS-ENDORSED lib .

当我将 NetBeans 的平台更改为 Java 6(之前在 IDE 中创建)时,我收到了我熟悉的错误消息(没有这样的方法......等) - 它们是由于 JDK 6 中的 Jax-ws 版本而出现的。我创建了认可lib(使用虚拟项目的技巧)但没有效果。

然后我将 endorsed.classpath=${libs.JAX-WS-ENDORSED.classpath} 行添加到 project.properties (在 nbproject 目录中)并且错误消失了。但是在重新启动 IDE 后,该行从 project.properties 文件中消失了,错误又回来了。我试图在 private.properties 文件中添加这样一行,但之后在“清理和构建”过程中出现错误“没有这样的库”。所以现在每次我重新启动 Netbeans 时,我都会打开 project.properties 并手动添加 endorsed.classpath 行。

这是一个问题:

我怎样才能做到这一点:永久endorsed.classpath=${libs.JAX-WS-ENDORSED.classpath}留在文件中?project.properties

0 投票
2 回答
11764 浏览

api - 什么是 Java EE 认可的 API?

这里

Maven 存储库中提供了三种不同的 Java EE 相关 API。

  1. 规范 API(Maven 工件:javaee-api
  2. Web 规范 API ( javaee-web )
  3. 认可的 API ( javaee-endorsed-api )

我知道规范 API(完整的 Java EE API:s 套件)和 Web API(前者的子集,由一些应用程序服务器实现)。

但是什么是“认可的 API”,我需要关心吗?

注意:我确实找到了这个链接,但它什么也没告诉我。

0 投票
0 回答
150 浏览

java - WAR 文件中认可的标准覆盖机制

您应该如何提供带有 WAR 文件的经认可的标准覆盖?我们的应用程序有一些依赖于最新版本的 apache xerces(至少 2.9.1)。

glassfish的文档建议将 jar 放入 中domaindir/lib/endorsed,但这将是安装时需要的手动步骤。有没有办法直接在WAR文件中提供库,让管理员一个命令部署war文件就行了?

0 投票
0 回答
738 浏览

java - 在 GlassFish 4.0 中对 xerces 使用认可的标准覆盖机制

如何使用认可的标准机制在 GlassFish 4.0 WAR 应用程序中使用 xerces?根据文档*,您应该将其放入domain-dir/lib/endorsed. 但是,当我将 xercesImpl、xml-apis 和 xml-resolver 放在那里时,这些类在 WAR 中的类中不可用。这很可能是由于文档和默认配置之间的不一致:domain.xml未列出domain-dir/lib/endorsed

当我包含它或将文件放入glassfish-install-dir/lib/endorsed时,启动失败并出现以下异常:

我该如何解决?按照此答案lib/endorsed中的建议将 Woodstox StAX 解析器下载到其中不起作用。

-- * 这是 GlassFish 3 的文档,但在GlassFish 4
的文档中完全相同,我只找到了 PDF

0 投票
1 回答
1033 浏览

java - 认可的目录机制不起作用?

我需要调试 JDK 1.8 类中发生的一些事情。我正在尝试使用此处提到的认可dir 机制,但似乎对我不起作用。这就是我所做的(在 Windows 上):

  1. javax.swing.plaf.basic.BasicListUI将类源代码复制到<JDK_HOME>/jre/lib/endorsed/javax/swing/plaf/basic/
  2. 修改类代码,增加:

    我希望这会导致在加载类后立即打印消息。

  3. cd 到<JDK_HOME>/jre/lib/endorsed并运行javac javax/swing/plaf/basic/BasicListUI。这导致在BasicListUI.class与源文件相同的目录中生成文件。

  4. 编写并编译了这个程序:

    /li>
  5. 执行的程序java t。我没有看到REPLACED BasicListUI消息,程序的输出是:

    /li>

另外,如果我运行:

输出是:

我错过了什么?