Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse 如何在从Mapstruct生成的源代码上禁用派生标志,以及如何仅在本地PC上而不是在生成服务器上生成Mapstruct类?_Eclipse_Maven_Mapstruct_Rational Team Concert - Fatal编程技术网

Eclipse 如何在从Mapstruct生成的源代码上禁用派生标志,以及如何仅在本地PC上而不是在生成服务器上生成Mapstruct类?

Eclipse 如何在从Mapstruct生成的源代码上禁用派生标志,以及如何仅在本地PC上而不是在生成服务器上生成Mapstruct类?,eclipse,maven,mapstruct,rational-team-concert,Eclipse,Maven,Mapstruct,Rational Team Concert,第一个问题:Mapstruct生成代码到目标注释文件夹,该文件夹有一个“派生”标记。RTC忽略了这一点,因此我无法签入生成的代码(不要问我为什么要这样做-我需要它)。是否有机会禁用gen文件夹上的派生标记,以便将生成的类(.java)签入存储库? 第二个问题:Mapstruct类应该在本地计算机上生成,而不是在构建服务器上生成。如何将maven配置为仅在本地执行 先谢谢你 目前我的pom.xml看起来是这样的,因为我无法按照需要的方式配置它: <plugin>

第一个问题:Mapstruct生成代码到目标注释文件夹,该文件夹有一个“派生”标记。RTC忽略了这一点,因此我无法签入生成的代码(不要问我为什么要这样做-我需要它)。是否有机会禁用gen文件夹上的派生标记,以便将生成的类(.java)签入存储库? 第二个问题:Mapstruct类应该在本地计算机上生成,而不是在构建服务器上生成。如何将maven配置为仅在本地执行

先谢谢你

目前我的pom.xml看起来是这样的,因为我无法按照需要的方式配置它:

<plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <generatedSourcesDirectory>gen</generatedSourcesDirectory>
                <annotationProcessorPaths>
                    <path>
                        <groupId>de.......</groupId>
                        <artifactId>mapstruct_config</artifactId>
                        <version>${config.version}</version>
                    </path>
                    <path>
                        <groupId>org.mapstruct</groupId>
                        <artifactId>mapstruct-processor</artifactId>
                        <version>${org.mapstruct.version}</version>
                    </path>
                </annotationProcessorPaths>
                <compilerArgs>
                    <compilerArg>
                        -Amapstruct.suppressGeneratorTimestamp=true
                    </compilerArg>
                    <compilerArg>
                        -Amapstruct.suppressGeneratorVersionInfoComment=true
                    </compilerArg>
                    <compilerArg>
                        -Amapstruct.unmappedTargetPolicy=WARN
                    </compilerArg>
                </compilerArgs>
            </configuration>
        </plugin>

maven编译器插件
1.6
1.6
消息
判定元件。。。。。。。
mapstruct_配置
${config.version}
org.mapstruct
mapstruct处理器
${org.mapstruct.version}
-Amapstruct.suppressGeneratorTimestamp=true
-Amapstruct.SuppressGeneratorVersionInfo=true
-Amapstruct.unappedTargetPolicy=WARN
1:gen文件夹没有派生标记
2:annotationProcessor仅在本地机器上工作

我假定dervied标记来自Eclipse(IntelliJ也这样做)。最有可能的情况是,您必须在IDE中手动禁用该功能,但不确定它是否能够始终工作,因为通常这些位置都是从Maven本身应用的


为了使注释处理器仅在本地运行,我认为您需要添加一个自定义maven配置文件,在其中配置
annotationProcessorPaths
,默认配置文件(在CI上)不会有
annotationProcessorPaths
,因此不会运行注释处理

我假定dervied标记来自Eclipse(IntelliJ也会这样做)。最有可能的情况是,您必须在IDE中手动禁用该功能,但不确定它是否能够始终工作,因为通常这些位置都是从Maven本身应用的

为了使注释处理器仅在本地运行,我认为您需要添加一个自定义maven配置文件,在其中配置
AnnotationProcessorPath
,默认配置文件(在CI上)将没有
AnnotationProcessorPath
,因此不会运行注释处理