标签: module

查找多模块maven reactor项目的根目录

我想使用maven-dependency-plugin将我的多模块项目的所有子模块中的EAR文件复制到相对于整个项目的根目录的目录.

也就是说,我的布局看起来与此类似,名称已更改:

to-deploy/
my-project/
    ear-module-a/
    ear-module-b/
    more-modules-1/
        ear-module-c/
        ear-module-d/
    more-modules-2/
        ear-module-e/
        ear-module-f/
    ...
Run Code Online (Sandbox Code Playgroud)

我希望所有的EAR文件都从它们各自模块的目标目录中复制到my-project/../to-deploy最后

to-deploy/
    ear-module-a.ear
    ear-module-b.ear
    ear-module-c.ear
    ear-module-d.ear
    ear-module-e.ear
    ear-module-f.ear
my-project/
    ...
Run Code Online (Sandbox Code Playgroud)

我可以在每个耳模块中使用相对路径来完成它,如下所示:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy</id>
                    <phase>install</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>${project.artifactId}</artifactId>
                                <version>${project.version}</version>
                                <type>ear</type>
                                <outputDirectory>../../to-deploy</outputDirectory>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

但我宁愿不在<outputDirectory>元素中指定相对路径.我更喜欢类似的东西${reactor.root.directory}/../to-deploy,但我找不到这样的东西.

此外,我更喜欢有一些方法来继承这个maven-dependency-plugin配置,所以我不必为每个EAR模块指定它.

我还尝试从根pom继承自定义属性:

<properties>
    <myproject.root>${basedir}</myproject.root>
</properties>
Run Code Online (Sandbox Code Playgroud)

但是当我试图${myproject.root}在耳模块POM中使用时,${basedir}它将解析为耳模块的基础.

另外,我找到了http://labs.consol.de/lang/de/blog/maven/project-root-path-in-a-maven-multi-module-project/,其中建议每个开发人员,大概是连续的集成服务器应该在profiles.xml文件中配置根目录,但我不认为它是一个解决方案.

那么有一种简单的方法可以找到多模块项目的根目录吗?

directory maven-2 module root

64
推荐指数
7
解决办法
7万
查看次数

为什么我会将python代码放在​​__init__.py文件中

我正在寻找我将在__init__.py文件中放入什么类型的代码以及与此相关的最佳实践.或者,一般来说这是一种不好的做法吗?

任何对已解释此文档的已知文档的引用也非常感谢.

python module

64
推荐指数
3
解决办法
1万
查看次数

何时在Ruby中使用`require`,`load`或`autoload`?

我理解之间的细微差异require,load以及autoload在Ruby中,但我的问题是,你怎么知道该用哪一个呢?

除了能够load在匿名模块中"包装"a之外,require似乎更受欢迎.

但是然后autoload允许你懒惰加载文件 - 听起来很棒但我不确定你获得了什么require

一种方法比另一种方法更受欢迎吗?是否存在一种方法脱颖而出的情况?

ruby module

61
推荐指数
4
解决办法
2万
查看次数

模块,库和框架之间的区别

在流行的节目中,这些术语之间有什么区别,重叠是什么?

我错过了相关的任何条款?

frameworks module

61
推荐指数
4
解决办法
3万
查看次数

ansible:如何传递多个命令

我试过这个:

- command: ./configure chdir=/src/package/
- command: /usr/bin/make chdir=/src/package/
- command: /usr/bin/make install chdir=/src/package/
Run Code Online (Sandbox Code Playgroud)

哪个有效,但我想还有更多......整洁.

所以我尝试了这个:

来自:https://stackoverflow.com/questions/24043561/multiple-commands-in-the-same-line-for-bruker-topspin,它给了我"没有这样的文件或目录"

- command: ./configure;/usr/bin/make;/usr/bin/make install chdir=/src/package/
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个:https://u.osu.edu/hasnan.1/2013/12/16/ansible-run-multiple-commands-using-command-module-and-with-items/

但我找不到合适的语法:

- command: "{{ item }}" chdir=/src/package/
  with_items:
      ./configure
      /usr/bin/make
      /usr/bin/make install
Run Code Online (Sandbox Code Playgroud)

这不起作用,说有一个引用问题.

任何人?

command module ansible

61
推荐指数
6
解决办法
12万
查看次数

如何将CPAN模块安装到本地目录中?

我正在使用托管的Linux机器,所以我没有权限写入/usr/lib目录.

当我尝试通过以下方式安装CPAN模块时:

perl Makefile.PL
make test
make install
Run Code Online (Sandbox Code Playgroud)

该模块被解压缩到一个blib/lib/文件夹.我保留了use blib/lib/ModuleName但是编译器仍然无法找到模块.我已经尝试将.pm文件复制到本地目录并保留 require ModuleName但仍然给我一些错误.

如何将模块安装到其他目​​录并使用它?

perl install cpan module

60
推荐指数
3
解决办法
12万
查看次数

browserify/requirejs模块和ES6模块之间有什么区别

我还是ES6和模块加载器的新手,我目前正在考虑将浏览器设置与ES6相结合.我想知道如果我使用ES6模块,是否还需要browserify/requirejs.似乎都允许您定义模块并导出它们?browserify/requirejs模块和ES6模块有什么区别?

javascript module requirejs browserify ecmascript-6

60
推荐指数
1
解决办法
2万
查看次数

如何从模块中检索可用命令?

要了解计算机上可用的PowerShell模块,请使用该命令

Get-Module -ListAvailable
Run Code Online (Sandbox Code Playgroud)

这将返回包含module-type,-name和导出命令的列表.但导出的命令始终为空并且只显示{}.为什么不显示?

我是否必须使用其他参数或是否有另一个cmdlet或方法来检索可用的命令?

powershell module powershell-2.0

59
推荐指数
2
解决办法
8万
查看次数

如何跨模块文件使用宏?

我在同一个包中的两个模块中有两个模块,其中包已macro_rules启用.我想在另一个模块中使用一个模块中定义的宏.

// macros.rs
#[macro_export] // or not? is ineffectual for this, afaik
macro_rules! my_macro(...)

// something.rs
use macros;
// use macros::my_macro; <-- unresolved import (for obvious reasons)
my_macro!() // <-- how?
Run Code Online (Sandbox Code Playgroud)

我目前遇到编译器错误" macro undefined: 'my_macro'"...这是有道理的; 宏系统在模块系统之前运行.我该如何解决这个问题?

module rust rust-macros

59
推荐指数
5
解决办法
2万
查看次数

(Python)在本地使用库而不是安装它

脚本:
我在python中编写了一个脚本,偶尔会向Twitter发送推文
它只使用一个名为:tweepy
的库,安装它工作的库后,很棒.

问题:
我想在没有安装任何权限的服务器上托管脚本
如果我可以从我所拥有的文件夹中本地包含它,那将会很棒.
截至目前,我只需要包含在我的文件的顶部是:

import tweepy
Run Code Online (Sandbox Code Playgroud)

tweepy文件夹(也有一个__init__.py我认为是非常重要的文件.

问题:
如何在不安装的情况下使用此库?
基本上我想替换:import tweepyimport local_folder/tweepy/*

这可能只是蟒蛇常识,但我卡住了!

python import module

58
推荐指数
4
解决办法
7万
查看次数