Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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
Maven详细输出处的配置行代表什么?_Maven_Maven Plugin - Fatal编程技术网

Maven详细输出处的配置行代表什么?

Maven详细输出处的配置行代表什么?,maven,maven-plugin,Maven,Maven Plugin,下面是mvn-X安装的输出的摘录: [DEBUG] Configuring mojo org.apache.maven.plugins:maven-resources-plugin:2.4.3:resources from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-resources-plugin:2.4.3, parent: sun.misc.Launcher$AppClassLoader@33909752

下面是mvn-X安装的输出的摘录:

[DEBUG] Configuring mojo org.apache.maven.plugins:maven-resources-plugin:2.4.3:resources from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-resources-plugin:2.4.3, parent: sun.misc.Launcher$AppClassLoader@33909752]
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-resources-plugin:2.4.3:resources' with basic configurator -->
[DEBUG]   (f) buildFilters = []
[DEBUG]   (f) encoding = UTF-8
[DEBUG]   (f) escapeWindowsPaths = true
[DEBUG]   (s) includeEmptyDirs = false
[DEBUG]   (s) outputDirectory = C:\Users\Username\Software\glassfish4\docs\javaee-tutorial\examples\jaxws\helloservice-war\target\classes
[DEBUG]   (s) overwrite = false
[DEBUG]   (f) project = MavenProject: org.glassfish.javaeetutorial:helloservice-war:7.0.5 @ C:\Users\Username\Software\glassfish4\docs\javaee-tutorial\examples\jaxws\helloservice-war\pom.xml
[DEBUG]   (s) resources = [Resource {targetPath: null, filtering: false, FileSet {directory: C:\Users\Username\Software\glassfish4\docs\javaee-tutorial\examples\jaxws\helloservice-war\src\main\resources, PatternSet [includes: {}, excludes: {}]}}]
[DEBUG]   (f) session = org.apache.maven.execution.MavenSession@27d4a09
[DEBUG]   (f) useBuildFilters = true
[DEBUG]   (s) useDefaultDelimiters = true
[DEBUG] -- end configuration --
是我的
resources
插件版本的
resources
目标的文档页面

我想知道这些行(以
(f)
(s)
开头的行)代表什么。起初,我认为这些代表上述目标的参数,但没有如下参数:

  • 构建过滤器
  • 计划
  • 资源
  • 会议
简言之:

  • 这些线代表什么
  • 开头的
    (f)
    (s)
    代表什么

  • 此日志显示Maven如何配置插件以执行它,并输出为插件执行的每个参数设置的值

    每个

    [DEBUG]   (f) buildFilters = []
    [DEBUG]   (f) encoding = UTF-8
    [DEBUG]   (f) escapeWindowsPaths = true
    [DEBUG]   (s) includeEmptyDirs = false
    [DEBUG]   (s) outputDirectory = C:\Users\Username\Software\glassfish4\docs\javaee-tutorial\examples\jaxws\helloservice-war\target\classes
    [DEBUG]   (s) overwrite = false
    [DEBUG]   (f) project = MavenProject: org.glassfish.javaeetutorial:helloservice-war:7.0.5 @ C:\Users\Username\Software\glassfish4\docs\javaee-tutorial\examples\jaxws\helloservice-war\pom.xml
    [DEBUG]   (s) resources = [Resource {targetPath: null, filtering: false, FileSet {directory: C:\Users\Username\Software\glassfish4\docs\javaee-tutorial\examples\jaxws\helloservice-war\src\main\resources, PatternSet [includes: {}, excludes: {}]}}]
    [DEBUG]   (f) session = org.apache.maven.execution.MavenSession@27d4a09
    [DEBUG]   (f) useBuildFilters = true
    [DEBUG]   (s) useDefaultDelimiters = true
    
    对应于
    maven资源插件的属性。但是,并不是所有这些都可以由用户直接配置。中列出的属性对应于用户可以覆盖的属性

    在MOJO配置中,用户无法配置的属性设置为
    true
    ,您可以在以下位置找到:

    指定用户不能直接配置此参数(如POM指定的配置)。当您想要强制用户使用公共POM元素而不是插件配置时,这非常有用,例如您想要使用工件的最终名称作为参数

    这些参数没有显示在公共文档中,可能是因为它们是无法重写的内部参数

    例如,如果查看
    buildFilters

    @参数(defaultValue=“${project.build.filters}”,readonly=true)
    受保护的列表过滤器;
    
    您可以注意到,这个属性实际上是插件的一个参数,但它被设置为只读。这同样适用于或


    (s)
    (f)
    的含义对我来说更加模糊,你可以看到它们,它显然表示参数是由Maven使用setter
    (s)
    还是反射
    (f)

    设置的,但是
    只读
    参数的值是如何确定的?如果文档中省略了
    readonly
    参数,我们在文档中的什么地方可以了解到这一点?@Utku您不能指定
    readonly
    参数的值。其目的是围绕依赖项注入的概念:MOJO列出了它所需要的依赖项,其中一些是内部的,而另一些不是。内部构件是只读的(但仍然是注入的,比如由与当前Maven项目相对应的
    ${project}
    注入的
    project
    ),其他的由用户配置。因此
    readonly
    参数的值不能与MOJO中指定的
    defaultValue
    不同。我理解对了吗?