我正在使用JBoss编写应用程序服务器。该应用程序由Maven编译并打包为WAR。现在,我想外部化一些类。我创建另一个打包为JAR的Maven项目。
我相信JAR具有正确的目录树。它包含一个META-INF
目录以及作为目录的包结构,类文件位于其中。
我在网络上阅读到,可以通过将其放入应用服务器中src\main\webapp\WEB-INF\lib
而无需在应用服务器的pom.xml中进一步提及(可以在某些时候将这些JAR作为插件使用,因此可以在pom.xml中添加依赖项)来将其添加到应用服务器中。不是一种选择)。
编译服务器时,JARWEB-INF\lib
和其他外部依赖项一起被正确复制到WAR下。
但是,当我尝试在Appserver中使用该类时(写import
这样一个类的语句就足够了),maven会抱怨找不到该类。
我试图在网络上查找信息,但我能找到的只是这是要完成的方式。
有谁知道我可以在哪里进一步寻找线索哪里出了问题?
将jar文件放入文件src\main\webapp\WEB-INF\lib
很麻烦,这显然是错误的。
代码无法编译的原因是Maven编译器插件使用了已定义的源路径和(提供和编译范围内的)依赖项。
您可以更改此设置,但结果将难以理解。另外,您还必须手动更新jar文件(BTW在源代码中没有位置)。
那就是依赖管理的目的。
不要反对您的工具。如果您的项目需要此jar中的类,则为依赖项。因此,请这样声明。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句