这是使用 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) 我正在尝试模块化我的应用程序,并且我有一个共享模块,我在其中放置共享资源和字符串。在我的模块中,我对共享模块有依赖关系,如下所示:
implementation(project(Modules.shared))
Run Code Online (Sandbox Code Playgroud)
假设我在入职模块工作。当我想打电话时R.string.mystring,找不到 mystring。但当我写的时候packageNameOfSharedModule.R.string.mystring,它起作用了。
在另一个项目中,我可以访问当前模块包中的任何资源。
我缺少什么?提前致谢!
我有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配置文件中包含尽可能多的内容.
我正在开发一个项目,我们正在使用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插件中的错误吗?
我的应用程序是一个 Gradle 多模块项目,由多个服务和一个服务通用模块组成。
\n\nI\xc2\xb4ve 将所有模块共有的所有依赖项提取到根 build.gradle 中,并且我还想在所有子项目中包含service-common模块,这在理论上是可行的,但 I\xc2\xb4m 得到了循环依赖问题,因为它包含在其自身中。
\n\napply 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) 我有一个多模块 Maven 项目,只想部署 2 个子模块:
pom.xml // parent pom
module1
--pom.xml
module2
--pom.xml
module3
--pom.xml
Run Code Online (Sandbox Code Playgroud)
仅module1.jar且module2.jar应部署。
我创建了一个多模块maven项目,我正在尝试编写和执行特定模块的一些测试.我试图将所有测试代码放入一个单独的模块,但我想知道这是否是正确的方法,如果是这样,我如何设置maven构建/测试周期,所以mvn安装将使用这些测试?
您好,在多模块应用程序中,我正在使用 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)
有没有办法避免这个错误
我试图让 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 client在src/client和go 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 代码?
我有多模块项目。例如: x |_b |_c 当我运行命令 mvn dependency : tree 这将输出模块“b”和“c”的依赖树
我知道我们可以使用此命令 mvn -f modulename/pom.xml dependency:tree 来获取特定的模块依赖关系树
有没有办法仅使用特定模块的 groupId、artifactId 和版本来生成依赖关系树。
我是GWT的初学者,正在考虑开发管理软件并将其部署在AppEngine上.
在我看来,有一个"标签式"用户界面.
Tab1 =销售额; Tab2 =发票; Tab3 =股票......等等.
我刚刚完成了Stockwatcher教程,它非常酷,但现在我想知道如何组织我的代码.
我的意思是,为每个标签制作一个gwt模块是一个好主意吗?例如,我只想在选择该选项卡时加载"发票"选项卡的界面.即使我对multimodule的想法是错误的,你能告诉我如何避免在"Stockwatcher"课程中使用我的所有代码.我读过复合材料,但我无法理解.
希望你理解我的疑虑.谢谢你们!
我目前正在开发一个具有以下结构的多模块项目.
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.xml和lifecycle.xml文件.我不明白如何将该文件结构应用于我的项目,因为它是一个多模块项目,其中每个模块都有单独的src目录.
(我正在使用maven 3)
我想添加Lombok到Gradle多模块项目,但我很难配置它。正在阅读文档和多个页面,但是当它涉及多个模块时我无法使其工作。
更新:升级到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) multi-module ×13
gradle ×4
maven ×4
android ×3
java ×3
architecture ×1
build ×1
build.gradle ×1
deployment ×1
go ×1
go-modules ×1
gwt ×1
jacoco ×1
javafx ×1
junit ×1
koin ×1
kotlin ×1
lombok ×1
maven-3 ×1
spock ×1
spring ×1
subproject ×1
testing ×1
testng ×1