我正在将构建从Ant迁移到Maven。Ant构建用于编译“代码生成器”,执行这个“代码生成器”,它生成了一组Java和C代码。然后,它将生成的Java代码与其他一些代码一起编译,生成一个jar。
我已经在Maven中很容易地复制了这一点,当我从命令行运行时,它工作得很好,但Eclipse抱怨并给了我一个与pom文件相关的错误
无法在超文本传输协议中找到{group.id}:{artifact.id}: pom: 1.0.0-SNAPSHOT://{我们的内部站点存储库}/nexus/content/group/public缓存在本地存储库中,除非快照的更新间隔已经过去或强制更新,否则不会重新尝试解析
组所在的位置。id和工件。id是我的代码生成器插件的组和工件id
任何引用生成代码的代码也无法编译。
我的Maven构建包括
>
一个生成器插件项目,只包含将生成器包装为Maven插件的代码。这取决于发电机项目。
一个使用插件生成代码的xyz项目。代码最终位于该项目的目标/生成源/xxx文件夹中。我已根据Maven编译配置了build-helper-maven-plugin,其中包含多个src目录以包含这个额外的源目录。
如果我手动将生成的源文件夹添加到Eclipse构建路径,那么与不存在的代码相关的所有错误都会在该项目上消失,但不会在任何下游项目上消失,并且“找不到…”上面列出的错误仍然存在。
让我有点困惑的是,它指的是...: pom: 1.0.0-SNAPSHOT,而实际上我的生成器插件被定义为maven-plugin。
这是明智的做法吗?
为什么我收到“找不到......”错误?
为什么Eclipse不提取我生成的源代码文件夹?
我还应该说,我在Eclipse IDE中安装了m2e插件和m2e connector for build help maven插件。
通过使用eclipse Indigo3.7,我发现使用Spring3.1.1效果很好,Spring3.1.1中也有3.0.6版本。一旦我得到插件设置并将其放入pom的正确区域,并包含argline和endorseddir,以便将java源代码放入target/generated sources/cxf文件夹,那么maven生成的源代码就可以了。
。。。。
<properties>...
<dependencyManagement>
<dependencies>.....
</dependencyManagement>
<dependencies>
<dependency>....
</dependencies>
<!-- *************************** Build process ************************************* -->
<build>
<finalName>projName</finalName>
<plugins>
<!-- Force Java 6 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.4</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<!-- Deployent on AS from console
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>${version.jboss.as.maven.plugin}</version>
</plugin>
-->
<!-- wildbill added tomcat plugin -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
<!-- Surefire plugin before 2.9 version is buggy. No need to declare here,
it's being referenced below w/ the version
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
</plugin>
-->
<!-- developer added these -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArguments>
<endorseddirs>target/generated-sources/cxf</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<forkMode>once</forkMode>
<argLine>-Djava.endorsed.dirs=target/generated-sources/cxf</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArguments>
<endorseddirs>target/generated-sources/cxf</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>once</forkMode>
<argLine>-Djava.endorsed.dirs=target/generated-sources/cxf</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<artifactItems>
<artifactItem>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2</version>
</artifactItem>
<artifactItem>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.2</version>
</artifactItem>
</artifactItems>
<outputDirectory>target/generated-sources/cxf</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
<!-- *********************** Profiles ************************************ -->
<profiles>
<profile>
<!-- When built in OpenShift the 'openshift' profile will be
used when invoking mvn. -->
<!-- Use this profile for any OpenShift specific customization
your app will need. -->
<!-- By default that is to put the resulting archive into the
'deployments' folder. -->
<!-- http://maven.apache.org/guides/mini/guide-building-for-different-environments.html -->
<id>projName</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<id>process-sources</id>
<phase>generate-sources</phase>
<configuration>
<fork>once</fork>
<additionalJvmArgs>-Djava.endorsed.dirs=target/generated-sources/cxf</additionalJvmArgs>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>2.2</version>
</dependency>
</dependencies>
</plugin>
<!-- Actual war created in default target dir -->
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</build>
</profile>
</profiles>
如果您的wsdl文件夹位于${basedir}/src/main/resources中,它将自动找到它
希望这有帮助!
在从存储库下载lib的过程中似乎出现了问题。我已经收到过一次相同的错误消息。
>
您是否查看了本地存储库?
转到. m2文件夹并查找/nexus/内容/组/public
。如果文件夹在那里,打开它并查看lib是否下载正确。如果没有,请尝试删除该文件夹并尝试运行mvn install
以强制下载lib。
在Eclipse中,运行右键
您使用的是像artiFactory这样的本地存储库吗?还要在
repo1-cache
(或类似)文件夹中查找lib。看看jar是否在那里。
您是否在任何防火墙或代理之后?
我有一个java,gradle项目。我的少年 选择一些配置 Junit中拾取此文件的代码是 当我奔跑时 这个很好用。Junit能够从csv文件中拾取数据。 当我在Eclipse中运行JUnit时,即通过Shift Alt X T,然后JUnit以空指针异常中断。 我明白原因。当我在eclipse中运行Junit时,它会在同一个文件夹中查找该文件,但没有找到它,因此失败。但是,当我使用gradle运
我对HTML字体了解不多,我正在尝试更改所有元素的字体,而不必每次都指定一个类或样式。生成的HTML没有更改字体。 我的HTML(与Bootstrap一起使用)只是 并且我的样式表包含 我在样式表中更改了按钮的其他内容,并且它们被拾取,这样我就知道找到了样式表。 那我做错了什么?
问题内容: 使用以下结构,如何使Eclipse正确构建WAR文件? 我需要以下文件夹才能进入以下输出文件夹: 将mail / src 转换为 mail / war / WEB-INF / classes 邮件/ www 到 邮件/ war / 我曾尝试在Eclipse中设置“输出”文件夹,但这只会导致Eclipse神奇地删除所有WEB-INF内容而不会告诉我! http://clausjoerge
我试图建立一系列触发空手道场景的加特林测试。我对功能文件所做的更改只是偶尔被加特林发现。例如,在下面的功能文件代码中,运行前四个项目(包括注释掉的“关系”行): 其余的不是。请参阅运行结果的附加屏幕:在此输入图像描述 POM供参考版本: 我怀疑像编译文件这样的东西在进行更改时不会刷新或重新编译。
问题内容: 我的Eclipse Java软件包被视为一个文件夹。谁能建议出什么问题了? 问题答案: 最坏的情况是,您必须删除文件夹并重新创建为Java程序包。 通过重构将Java类保存在Java项目中的其他位置 删除文件夹和基础文件夹结构 创建一个Java包 通过重构将Java类移回Java包下
问题内容: 我正在渲染一个模板,尝试使用外部样式表进行样式设置。文件结构如下。 mainpage.html看起来像这样 我的样式均未应用。它与html是我正在渲染的模板有关吗?python看起来像这样。 我知道这很有效,因为我仍然能够渲染模板。但是,当我尝试将样式代码从html的“ head”标记中的“样式”块移动到外部文件时,所有样式消失了,仅留下了一个html页面。有人看到我的文件结构有任何错