标签: multi-module

多模块JavaFX maven项目打包问题

这是使用 Maven 创建多模块 JavaFX 应用程序的尝试。

鉴于该项目的结构如下:

project
|  pom1.xml
|_____ Word Generator (Folder)
      |  pom2.xml
      |_____logic (folder)
            |  WordGenerator
|_____UI (folder)
      |  pom3.xml
      |_____marty  
            |  App
            |  PrimaryController
            |  SecondaryController
Run Code Online (Sandbox Code Playgroud)

按照上述方案的顺序,我们有以下 pom 文件结构:

pom1.xml

project
|  pom1.xml
|_____ Word Generator (Folder)
      |  pom2.xml
      |_____logic (folder)
            |  WordGenerator
|_____UI (folder)
      |  pom3.xml
      |_____marty  
            |  App
            |  PrimaryController
            |  SecondaryController
Run Code Online (Sandbox Code Playgroud)

pom2.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.games.marty</groupId>
    <artifactId>words</artifactId>
    <packaging>pom</packaging>
    <version>0.1</version>

    <modules>
        <module>UI</module>
        <module>Word Generator</module>
    </modules>

    <properties>
        <maven.compiler.source>16</maven.compiler.source>
        <maven.compiler.target>16</maven.compiler.target> …
Run Code Online (Sandbox Code Playgroud)

java javafx intellij-idea maven multi-module

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

多模块 Android 应用程序:无法从另一个模块访问字符串

我正在尝试模块化我的应用程序,并且我有一个共享模块,我在其中放置共享资源和字符串。在我的模块中,我对共享模块有依赖关系,如下所示:

implementation(project(Modules.shared))
Run Code Online (Sandbox Code Playgroud)

假设我在入职模块工作。当我想打电话时R.string.mystring,找不到 mystring。但当我写的时候packageNameOfSharedModule.R.string.mystring,它起作用了。

在另一个项目中,我可以访问当前模块包中的任何资源。

我缺少什么?提前致谢!

architecture android multi-module android-studio

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

为一组Android项目(包括库)构建Gradle

我有2个Android应用程序和5个Android模块(Android库项目).共有7个Eclipse项目.我想为他们启用Gradle构建.我build.gradle在根文件夹中添加并列出了所有项目settings.gradle

include ':app1'
include ':app2'
...
Run Code Online (Sandbox Code Playgroud)

但是我发现我需要在7个项目的每个项目中复制粘贴部分

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 1
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
        ... // and so on like source folders configuration
}
Run Code Online (Sandbox Code Playgroud)

原因:当我添加apply plugin: 'android'内部根目录build.gradle (请参阅无法在多模块项目的根目录中找到方法android())时,
我无法访问apply plugin: 'android-library'库项目(请参阅/sf/ask/1670500471/ -for-android-library-in-multimodule-project)

但这是我想要避免的,在不同的地方指定不同版本的Android和Android工具.

如何缩小此配置以在一个build.gradle配置文件中包含尽可能多的内容.

android build gradle multi-module build.gradle

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

如何将JaCoCo Gradle插件与TestNG和JUnit一起使用?

我正在开发一个项目,我们正在使用TestNG和JUnit进行测试.

不幸的是,在编写TestNG测试时,他们不会在JaCoCo Coverage报告中考虑.

我写了一个testng.gradle文件,我将其包含在每个build.gradle文件中(这是一个多模块项目):

task testNG(type: Test) { useTestNG() }
test.dependsOn testNG
Run Code Online (Sandbox Code Playgroud)

JUnit和TestNG测试都以这种方式工作.

如果我写testng.gradle这样的话:

test {
    useTestNG()
}
Run Code Online (Sandbox Code Playgroud)

JaCoCo工作正常,但显然只有TestNG测试才能执行.

我该如何解决?这是Gradle的JaCoCo插件中的错误吗?

junit testng gradle multi-module jacoco

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

Gradle 多模块项目:将模块依赖项应用于除自身之外的所有子项目

我的应用程序是一个 Gradle 多模块项目,由多个服务和一个服务通用模块组成。

\n\n

I\xc2\xb4ve 将所有模块共有的所有依赖项提取到根 build.gradle 中,并且我还想在所有子项目中包含service-common模块,这在理论上是可行的,但 I\xc2\xb4m 得到了循环依赖问题,因为它包含在其自身中。

\n\n
apply plugin: \'java\'\n\ngroup = \'com.myapplication\'\n\next {\n    set(\'springCloudVersion\', "2.2.0.RELEASE")\n    set(\'springBootVersion\', "2.2.2.RELEASE")\n}\n\nallprojects {\n\n    repositories {\n        jcenter()\n        mavenCentral()\n        maven { url \'https://repo.spring.io/milestone\' }\n    }\n\n}\n\nbuildscript {\n    ext {\n        springBootVersion = "2.2.2.RELEASE"\n    }\n\n    repositories {\n        maven { url \'https://repo.spring.io/plugins-snapshot\' }\n        jcenter()\n        mavenCentral()\n    }\n\n    dependencies {\n        classpath \'io.spring.gradle:dependency-management-plugin:1.0.7.BUILD-SNAPSHOT\'\n        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")\n    }\n}\n\nsubprojects {\n    version = \'1.0\'\n\n    apply plugin: \'org.springframework.boot\'\n    apply plugin: "io.spring.dependency-management"\n    apply plugin: \'java\'\n\n    ext {\n        springCloudVersion = "2.2.0.RELEASE"\n        springBootVersion = "2.2.2.RELEASE"\n    }\n\n …
Run Code Online (Sandbox Code Playgroud)

spring circular-dependency subproject gradle multi-module

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

如何仅部署多模块maven项目的一部分?

我有一个多模块 Maven 项目,只想部署 2 个子模块:

pom.xml // parent pom
module1
--pom.xml
module2
--pom.xml
module3
--pom.xml
Run Code Online (Sandbox Code Playgroud)

module1.jarmodule2.jar应部署。

deployment maven multi-module

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

如果我将测试放在一个单独的模块中,如何在多模块maven设置中运行单元测试?

我创建了一个多模块maven项目,我正在尝试编写和执行特定模块的一些测试.我试图将所有测试代码放入一个单独的模块,但我想知道这是否是正确的方法,如果是这样,我如何设置maven构建/测试周期,所以mvn安装将使用这些测试?

java testing maven multi-module spock

1
推荐指数
1
解决办法
1133
查看次数

在多模块应用程序中使用 koin

您好,在多模块应用程序中,我正在使用 loadKoinModules() 加载子模块,并在功能模块中使用 unloadKoinModules() 卸载它,我的代码如下所示

class FeatureActivity:AppCompatActivity(){
    private val loadFeatures by lazy { loadKoinModules(featureModule) }
    private fun injectFeatures() = loadFeatures

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        injectFeatures()
    }

   override fun onDestroy() {
        super.onDestroy()
        unloadKoinModules(featureModule)
    }
} 
Run Code Online (Sandbox Code Playgroud)

一切正常,但当加载同一活动的另一个实例时,问题就开始了。当前活动处于后台。由于以下错误,应用程序崩溃

org.koin.error.BeanOverrideException:  Try to override definition with Factory
Run Code Online (Sandbox Code Playgroud)

有没有办法避免这个错误

android dependency-injection multi-module kotlin koin

1
推荐指数
1
解决办法
5835
查看次数

没有远程存储库的模块?

我试图让 Go 模块在不涉及远程存储库的情况下工作。

src是一个本地目录,其中包含我所有的项目,以及用 Go 以外的其他语言编写的项目。为简单起见,我只显示了与我的问题相关的两个目录:

src
 ??? client
 ?   ??? go.mod
 ?   ??? main.go
 ??? lib
     ??? go.mod
     ??? lib.go
Run Code Online (Sandbox Code Playgroud)

这些go.mod文件是通过go mod init clientsrc/clientgo mod init libin 中运行命令来创建的src/lib

源代码/客户端/main.go:

package main

import "lib"

func main() {
    lib.Hello()
}
Run Code Online (Sandbox Code Playgroud)

src/lib/lib.go:

package lib

import "fmt"

func Hello() {
    fmt.Println("Hello World")
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是在我的 main.go 中使用库 lib.go,但无论我在导入路径中放什么,都会显示此错误:

main.go:3:8: package lib is not in GOROOT (/usr/lib/go/src/lib)
Run Code Online (Sandbox Code Playgroud)

转到版本是 go1.14.3

如何从本地文件夹正确导入 Go 代码?

go multi-module go-modules

1
推荐指数
1
解决办法
1877
查看次数

如何仅为多模块项目中的特定模块生成依赖关系树 - MAVEN

我有多模块项目。例如: x |_b |_c 当我运行命令 mvn dependency : tree 这将输出模块“b”和“c”的依赖树

我知道我们可以使用此命令 mvn -f modulename/pom.xml dependency:tree 来获取特定的模块依赖关系树

有没有办法仅使用特定模块的 groupId、artifactId 和版本来生成依赖关系树。

maven multi-module dependency-tree

1
推荐指数
1
解决办法
2545
查看次数

GWT多模块应用程序

我是GWT的初学者,正在考虑开发管理软件并将其部署在AppEngine上.

在我看来,有一个"标签式"用户界面.

Tab1 =销售额; Tab2 =发票; Tab3 =股票......等等.

我刚刚完成了Stockwatcher教程,它非常酷,但现在我想知道如何组织我的代码.

我的意思是,为每个标签制作一个gwt模块是一个好主意吗?例如,我只想在选择该选项卡时加载"发票"选项卡的界面.即使我对multimodule的想法是错误的,你能告诉我如何避免在"Stockwatcher"课程中使用我的所有代码.我读过复合材料,但我无法理解.

希望你理解我的疑虑.谢谢你们!

gwt google-app-engine project-organization multi-module

0
推荐指数
1
解决办法
318
查看次数

多模块maven项目的自定义阶段

我目前正在开发一个具有以下结构的多模块项目.

root
  -module A
  -module B
Run Code Online (Sandbox Code Playgroud)

我想要做的是在编译模块B(模块B依赖于模块A)之后执行模块B(模块的主要方法).但我需要使用自定义命令执行此操作.

前 -

mvn runb
Run Code Online (Sandbox Code Playgroud)

我知道exec maven插件可以用来运行maven项目.我不明白的是如何在maven中创建自定义命令(阶段).无论如何在没有编写maven插件的情况下实现这一目标?

我提到了各种指南,例如https://community.jboss.org/wiki/CreatingACustomLifecycleInMaven试图实现这一目标.但是他们需要在src/resources/META-INF下创建components.xmllifecycle.xml文件.我不明白如何将该文件结构应用于我的项目,因为它是一个多模块项目,其中每个模块都有单独的src目录.

(我正在使用maven 3)

maven-3 multi-module

0
推荐指数
1
解决办法
3636
查看次数

Lombok @Builder 在 Gradle 模块中生成的类在其他模块中找不到

我想添加LombokGradle多模块项目,但我很难配置它。正在阅读文档和多个页面,但是当它涉及多个模块时我无法使其工作。

更新:升级到Gradle版本4.10.3,Java 8

在 IntelliJ 中,我可以使项目识别@Builder一个模块中的注释,并在单独的模块中使用生成的构建器类。但是,当在终端上运行时gradle build,我得到:

/myprj/module1/src/main/java/CampaignTracker.java:143: error: cannot find symbol

CampaignBuilder campaignBuilder = Campaign.builder()
                                          ^
  symbol:   method builder()
  location: class CampaignLead
Run Code Online (Sandbox Code Playgroud)

我们的Gradle多模块项目的结构如下:

myprj
  |- common
       |- Campaign.java
       |- build.gradle
  |- module1
       |- CampaignTracker.java
       |- build.gradle
  |- module2
       ...
  build.gradle
Run Code Online (Sandbox Code Playgroud)

在公共模块中,我们在类@Builder中使用lombok注释,Campaign.java如下所示:

@Builder
@AllArgsConstructor
public class Campaign {
   ...
}
Run Code Online (Sandbox Code Playgroud)

然后在名为 的单独模块上module1,我们要使用 lombok 生成的构建器,如下所示:

public class CampaignTracker implements Tracking {
    void buildCampaign() …
Run Code Online (Sandbox Code Playgroud)

java gradle multi-module lombok

0
推荐指数
1
解决办法
3091
查看次数