我有很多Java源代码,需要自定义预处理。我想摆脱它,但是现在不可行,所以我坚持了下来。鉴于我有一个不幸的问题,而这个问题本来不应该存在的,那么我该如何使用Maven解决这个问题呢?
(对于整个故事,我要用一个maven替换一个基于python的构建系统,因此请一次进行一次改进。修复非标准源代码会更加困难,并且将在以后发布。)
是否可以使用任何现有的Maven插件在编译时实际更改源文件?(显然,将原始的未经处理的代码留给了自己)
明确地说,通过预处理,我的意思是与天线或C编译器将对代码进行预处理的意义相同,而按照习惯,我的意思是它是完全专有的,根本不像C或天线预处理那样。
这是非常可行的,过去我做过非常类似的事情。
我的一个项目示例,我使用antrun插件执行外部程序来处理源:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>process-sources</id>
<phase>process-sources</phase>
<configuration>
<tasks>
<!-- Put the code to run the program here -->
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
请注意我在其中指示运行该阶段的标签。Maven的生命周期文档在这里。另一个选择是实际编写自己的Maven插件来执行此操作。它稍微复杂一点,但也是可行的。您仍将按照与我在此处记录的内容类似的方式进行配置。
在你的代码合并,压缩或编译后,保持客户端代码可读性和可调试性。使用Source Maps(源码映射)将源代码映射到已编译的代码。 TL;DR 使用Source Maps(源码映射)将压缩代码映射到源代码。然后,您可以在其原始源代码中读取和调试编译的代码。 仅使用能够生成Source Maps(源码映射)的预处理器。 验证您的web 服务器是否可以为Source Maps(源码映射)提供服务。 开始
问题内容: 如果存在某些错误,是否有可能以某种方式强迫Maven失败?现在,我必须运行目标以生成和报告。我想使其达到目标,如果checkstyle出现错误,则需要构建才能失败。这有可能实现吗? 现在我有报告的Maven块: 问题答案: 您需要绑定到Maven生命周期阶段(例如validate)并设置为true。 就像是:
我正在将我的java 6代码升级到java 7。已将JAVA_HOME更新为OS X 10.9上的JDK 1.7。代码还没有使用任何Java7特性。 当我运行构建“mvn clean install”时,构建中断,没有任何有用的错误消息。 生成成功,源代码=1.6
今天我有一个多年来一直萦绕在我心头的问题<在java中有以下评价: 我在我的程序中使用这段代码来评估b[0]和b[1]不同布尔值的术语,但这在这里一点也不重要。 目前我正在将评估写入源代码,让程序运行并观看命令行中的结果。 现在我想知道如何在命令行中实现计算。我希望能够在命令行中输入一个评估术语,用BufferedReader等读取它,而不是将其写入源代码。 有什么办法吗?我认为可以使用一些变量别
没有任何好的插件来使用Maven构建本机代码。native-maven-plugin是一个非常严格的构建系统,除其他外,这使得调试结果的二进制文件变得困难。您必须手动将本机Maven-Plugin构建系统与用于调试的本机IDE同步。 Maven没有替换部署的pom.xml文件中的变量:MNG-2971、MNG-4223。这意味着库必须在每个Maven配置文件中声明一次特定于平台的依赖关系(而不是声
问题内容: 在我的测试计划中,我有JDBC PreProcessor,它捕获了我要保存到变量中的单个值。然后,我想将此变量作为摘要报告的文件名的一部分重用。 我不知道创建该变量是否为时已晚,因为我总是得到字面值而不是 我也不确定是否需要使用或存储值。到目前为止,我没有运气尝试了不同的组合 然后我也不清楚应该在哪一点上将预处理器连接到第一个采样器? 这是我最新的(简短)JMX版本: 问题答案: JM