我最近工作中开始使用maven2作为build构建工具。开始很不适应,但是随着了解的深入,我逐渐感受到maven功能强大。今天还解决了一个在Netbeans maven工程中wsimport的类无法"source insight"的问题。
环境:
Netbeans 6.5
Maven 2.0.9
Netbeans安装了Maven相关的插件后可以比较完美地和maven集成。我们在使用中发现一个小的问题:我们的maven工程作为其他web service的client在执行wsimport之后生成了相关的类,编译没有问题。但是我们源代码中引用到相关类的地方Netbeans都会红线标出,表明无法找到相关的符号,而执行build实际上是可以编译的。而且我们无法做到敲个“.”就显示出web service中的所有方法。
问题出在Netbeans没有找到这些通过wsimport生成的class文件。在我们公司的另外一个maven工程中,同样的问题就没有出现,很奇怪。
我通过比较两个工程的pom.xml文件,发现它们存在一些区别。我们的pom.xml文件相关内容如下:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>1.9</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<keep>true</keep>
<wsdlUrls>
<wsdlUrl>...</wsdlUrl>
</wsdlUrls>
</configuration>
</execution>
</executions>
</plugin>
而另外一个工程的pom.xml如下:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>1.11</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
<sourceDestDir>${project.build.directory}/generated-sources/wsimport</sourceDestDir>
<resourceDestDir>${project.build.directory}/generated-sources/wsimport</resourceDestDir>
<keep>true</keep>
<wsdlUrls>
<wsdlUrl>...</wsdlUrl>
</wsdlUrls>
</configuration>
</plugin>
两个文件的区别主要有3点:
1. “jaxws-maven-plugin”的版本;
2. "<configuration>"设置的位置;
3. 是否指定"<sourceDestDir>"和"<resourceDestDir>"设置。
通过逐一排除,发现最终的问题出在:
<sourceDestDir>${project.build.directory}/generated-sources/wsimport</sourceDestDir>
<resourceDestDir>${project.build.directory}/generated-sources/wsimport</resourceDestDir>
只要指定这两个路径Netbeans就可以找到生成的class文件,否则使用默认的路径就不行。
问题解决了,不过不清楚Netbeans到底是通过什么算法到哪些路径查找wsimport生成的class文件,有知道的高手请不吝赐教,呵呵!
分享到:
相关推荐
NULL 博文链接:https://wujng68.iteye.com/blog/2220015
效果在这里 https://www.cnblogs.com/jnhs/p/11325173.html 开发环境opencv4.0.1 java swing netbeans8 maven 解压后,使用nb打开,运行即可,需要jdk1.8 其他版本的jdk需要你自己去修改
通过学习和实践这些配置步骤,你将能够更高效地在Netbeans中调试和开发基于Jetty的Maven项目,提升你的开发效率和问题排查能力。记住,实践是最好的老师,不断尝试和调试会让你对这个流程更加熟练。
Maven是一个项目管理和综合工具,它的主要功能是解决项目构建、依赖管理和项目信息管理的问题。在本项目中,我们通过在`pom.xml`文件中配置相关依赖,如SpringMVC、MyBatis、JUnit和Log4j,让Maven自动下载并管理...
Java程序通常以JAR(Java Archive)文件的形式发布,它是一个包含类文件、资源和其他相关文件的归档。然而,为了在Windows系统下实现双击即运行,我们需要将其转换为可执行的.exe文件。Maven是一款强大的项目管理...
第3章 Maven使用入门16.3.1 编写POM17.3.2 编写主代码18.3.3 编写测试代码19.3.4 打包和运行20.3.5 使用Archetype生成项目骨架21.3.6 m2eclipse简单使用22.3.7 NetBeans Maven插件简单使用23.3.8 小结
根据提供的文件内容,以下是关于JEECG 3.6-Maven版本环境搭建在NetBeans中的相关知识点: ### 1. JDK 1.8安装与配置 - JDK(Java Development Kit)是开发Java应用程序所需的软件开发环境。 - 在搭建JEECG开发环境...
NetBeans IDE集成Maven Eclipse构建Maven项目 转换基于Maven的Java项目支持Eclipse IDE 转换基于Maven的Web应用程序支持Eclipse IDE 使用Maven模板创建项目 使用Maven构建项目 使用Maven清理项目 使用Maven运行单元...
为 NetBeans 设置 Maven 这是发布的另一个 NetBeans 插件,它创建基于 Aspose maven 的项目。 Aspose Maven for NetBeans IDE 插件使 Java 开发人员能够使用处理各种二进制文件格式。 这个插件附带了Aspose Maven...
这是Aspose pty ltd发行的另一个NetBeans IDE插件,用于在NetBeans IDE中创建基于Aspose Maven的项目。 随附“ Aspose Maven项目向导”,可让您通过向导步骤选择Aspose Java API来创建基于Aspose Maven的项目,并将...
在这个NetBeans工程中,开发者可以找到如何构建这样一个功能的实例。 首先,Java下载进度条模块的核心在于处理文件的I/O流,监控数据传输的速度和总量。在Java中,`java.net.URL`类和`java.net.URLConnection`类...
在IT领域,算法是解决问题的关键工具,特别是在计算机科学和编程中。本资源聚焦于一个经典的算法问题——0-1背包问题,并提供了使用回溯算法的解决方案。0-1背包问题是一个典型的组合优化问题,它源自实际生活中的...
第1章 maven简介1.1 何为maven1.1.1 何为构建1.1.2 maven是优秀的构建工具1.1.3 maven不仅仅是构建工具1.2 为什么需要maven1.2.1 组装pc和品牌pc1.2.2 ide不是万能的1.2.3 make1.2.4 ant1.2.5 不重复发明...
在NetBeans中添加背景图片是一项常见的个性化设置任务,可以让你的开发环境更加独特且符合个人审美。NetBeans是一个流行的开源集成开发环境(IDE),支持多种编程语言,如Java、C++、PHP等。通过自定义背景图片,...
NetBeans是Sun公司(2009年被甲骨文收购)在2000年创立的开放源代码供开发人员和客户社区的家园,旨在构建世界级的Java IDE。NetBeans当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL...
1. **使用Nexus建立私服**:Nexus是一个开源的仓库管理系统,可以帮助企业搭建私有的Maven仓库,解决外部网络不稳定、下载速度慢等问题。 2. **持续集成**:结合Hudson/Jenkins等工具,实现自动化测试和构建,提高...
在.NETBEANS集成开发环境中,我们可以利用其强大的代码编辑和管理功能来编写各种类型的矩阵类代码。本项目涉及了四种不同类型的矩阵:普通矩阵、三角矩阵、对角矩阵和稀疏矩阵,这些矩阵类在计算科学和数据分析领域...
- 官方文档:NetBeans的官方文档详尽且更新及时,是学习和解决问题的好去处。 - 社区论坛:参与NetBeans社区,与其他开发者交流经验,获取帮助和解答疑问。 通过深入学习和实践,你将能够熟练掌握NetBeans,利用...
在使用NetBeans这款强大的集成开发环境(IDE)时,用户可能会遇到一些常见的问题。本文将针对这些问题...不断实践和解决问题将有助于提升开发技能。建议读者深入阅读相关教材,结合实践,逐步掌握NetBeans的使用方法。