我正在尝试构建我为项目创建的Web服务的REST API。 我的网络服务没有问题。
现在,我想在远程服务器上部署我的服务,我需要生成 war 文件。
我使用Java,Eclipse和Maven作为依赖项。我尝试进行干净安装,唯一的失败问题是:
has*()
任何人都有解决方案吗?
PS:为什么我在测试时没有遇到问题是因为我手动添加了 jdbc-stdext-2.0.jar ,现在我遇到了麻烦。
我的Pom.xml
[WARNING] The artifact jdbc:jdbc:jar:2.0 has been relocated to javax.sql:jdbc-stdext:jar:2.0
[INFO] Downloading: https://repo.maven.apache.org/maven2/javax/sql/jdbc-stdext/2.0/jdbc-stdext-2.0.jar
Could not find artifact javax.sql:jdbc-stdext:jar:2.0 in central (https://repo.maven.apache.org/maven2), try downloading from http://java.sun.com/products/jdbc/download.html
答案 0 :(得分:2)
您遇到此问题的原因是您包含的工件只包含可用的源包。 jdbc.jdbc 的maven依赖项被引用为二进制文件。
很可能您不需要包含该依赖项,因为这些接口是由您运行WAR存档的JEE容器提供的。我建议完全删除带有exlusion部分的jdbc工件。
您可以在Maven Central的jdbc/jdbc文件夹中浏览。事实上,在Maven Central的javax/sql下已经删除了它的扩展名。
答案 1 :(得分:1)
我相信这是因为您将工件列为pom中的排除项。即
<exclusions>
<exclusion>
<artifactId>jdbc-stdext</artifactId>
<groupId>javax.sql</groupId>
</exclusion>
</exclusions>
我想如果你删除这个区块你会没事的