Giter VIP home page Giter VIP logo

gradleside's People

Contributors

pkaq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gradleside's Issues

Gradle DSL 与 Gradle Kotlin DSL的问题

Gradle DSL代码如下:

plugins {
    id 'java'
    id 'org.jetbrains.kotlin.jvm' version '1.5.10'
    id 'maven'
}

Gradle Kotlin DSL代码如下:

plugins {
    java
    id("maven")
    id("org.jetbrains.kotlin.jvm") version "1.5.10"
}

Gradle DSL可正常使用maven插件
但Gradle Kotlin DSL报错

org.gradle.internal.exceptions.LocationAwareException: Build file 'E:\SCT-Pay-SDK\build.gradle.kts' line: 1
Plugin [id: 'maven'] was not found in any of the following sources:
- Gradle Core Plugins (not a core plugin, please see https://docs.gradle.org/7.0.2/userguide/standard_plugins.html for available core plugins)
- Plugin Repositories (plugin dependency must include a version number for this source)

Gradle导入不包含依赖包的Jar包时,如何将其依赖包也同时导入?

我有一个Gradle构建的项目,此项目使用了很多第三方Jar包。现在我将此项目打成jar包,但是没有将依赖的jar包打进去。我将打好的jar包上传到了私服仓库中,当别人使用Gradle构建的项目从私服仓库中获取我的jar包时,并没有将jar包依赖的第三方包一起获取。
我有试过将使用maven构建的项目打成jar包,上传到私服的时候将pom文件也一同上传上去,再使用maven构建的项目拉取这个jar包时,会根据这个pom文件中的依赖信息将依赖的包也一起拉取到项目中。
但是gradle好像并没有类似pom这样可以上传上去的依赖信息文件。请问这个问题该如何解决呢?

编译elasticsearch源码,麻烦帮忙看一下

环境:
Gradle: 5.6.2
JDK: 12
仓库: aliyun

错误日志

C:\Users\win10\github\elasticsearch-7.3.0>gradlew idea --stacktrace

Configure project :buildSrc
Repository https://jcenter.bintray.com/ replaced by http://maven.aliyun.com/nexus/content/groups/public/.

FAILURE: Build failed with an exception.

  • Where:
    Build file 'C:\Users\win10\github\elasticsearch-7.3.0\build.gradle' line: 47

  • What went wrong:
    A problem occurred evaluating root project 'elasticsearch-7.3.0'.

repository [maven] on project with path [:] is using http for artifacts on [http://maven.aliyun.com/nexus/content/groups/public/]

  • Try:
    Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Exception is:
    org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'elasticsearch-7.3.0'.
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:93)
    at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:227)
    at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
    at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:232)
    at org.gradle.configuration.BuildOperationScriptPlugin$1$1.run(BuildOperationScriptPlugin.java:69)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
    at org.gradle.configuration.BuildOperationScriptPlugin$1.execute(BuildOperationScriptPlugin.java:66)
    at org.gradle.configuration.BuildOperationScriptPlugin$1.execute(BuildOperationScriptPlugin.java:63)
    at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:49)
    at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:63)
    at org.gradle.configuration.project.BuildScriptProcessor$1.run(BuildScriptProcessor.java:45)
    at org.gradle.internal.Factories$1.create(Factories.java:26)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:201)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:187)
    at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:42)
    at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
    at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:35)
    at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject$1.run(LifecycleProjectEvaluator.java:107)
    at org.gradle.internal.Factories$1.create(Factories.java:26)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:189)
    at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withProjectLock(DefaultProjectStateRegistry.java:227)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:221)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:187)
    at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run(LifecycleProjectEvaluator.java:96)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)

找不到主清

这是我的 ---哪有问题。谢谢

/*

  • This file was generated by the Gradle 'init' task.
    */

apply plugin: 'java'
apply plugin: 'eclipse'

repositories {
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}

dependencies {
compile 'org.springframework.cloud:spring-cloud-starter-eureka:1.3.1.RELEASE'
compile 'org.springframework.cloud:spring-cloud-starter-ribbon:1.3.1.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-web:1.5.4.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-actuator:1.5.4.RELEASE'
compile 'org.springframework.cloud:spring-cloud-starter-config:1.3.1.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-amqp:1.5.4.RELEASE'
compile 'org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.0'
compile 'mysql:mysql-connector-java:5.1.40'
compile 'com.k4hub:swagger2-spring-boot-starter:1.0-RELEASE'
compile 'net.sf.json-lib:json-lib-ext-spring:1.0.2'
compile 'com.alibaba:druid:1.1.6'
compile 'org.apache.poi:poi:3.15'
compile 'net.sourceforge.jexcelapi:jxl:2.6.10'
compile 'dom4j:dom4j:1.6'
compile 'org.springframework.session:spring-session-data-redis:1.3.1.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-redis:1.4.7.RELEASE'
compile 'org.quartz-scheduler:quartz:2.2.1'
compile 'org.apache.commons:commons-lang3:3.8.1'
testCompile 'junit:junit:3.8.1'
}

jar {
manifest {
attributes(
'Manifest-Version': 1.0,
'Main-Class': 'cmdb_resource_module.app.Application_Resource')
}

}

group = 'cmdb_business_module'
version = '0.0.1-SNAPSHOT'
description = 'cmdb_business_module Maven Webapp'
sourceCompatibility = '1.8'

tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}

Gradle多模块工程,A工程(Springboot)使用compile project依赖(B)工程,在Idea中正常运行,打包成jar提示找不到符号

使用Gradle多模块开发Spring cloud项目,A工程是个Springboot项目(eureka-server),B工程是个通用工具类的工程(core),A工程依赖B工程(在根项目的build.gradle中配置)
image,同时在项目的settings文件中配置了依赖
image
,在idea中运行正常,当将A工程打包成jar运行时提示找不到符号(A工程中使用B工程代码的地方)
image
以下为配置文件的内容:
根项目的settings.gradle:
rootProject.name = 'springcloud'
include 'service-feign'
include 'service-hi'
include 'eureka-server'
include 'service-zuul'
include 'core'

根项目的build.gradle:
buildscript {
ext{
springBootVersion = '2.0.3.RELEASE'
springCloudVersion = 'Finchley.RELEASE'
}
repositories {
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
mavenCentral()
jcenter()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
allprojects {
group 'com.su.sc'
version '1.0.0'

apply plugin: 'org.springframework.boot'
apply plugin: 'idea'
apply plugin: 'java'

}
subprojects{
apply plugin: 'io.spring.dependency-management'

sourceCompatibility = 1.8

repositories {
    maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
    mavenCentral()
    jcenter()
}

[compileJava,compileTestJava,javadoc]*.options*.encoding = 'UTF-8'

dependencies {
    compile('org.springframework.boot:spring-boot-starter')
    compile('javax.servlet:javax.servlet-api:3.1.0')
    compile group: 'com.alibaba', name: 'fastjson', version: '1.2.47'

    compile(project(':core'))
    testCompile "org.springframework.boot:spring-boot-starter-test"
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

}

A项目的build.gradle(eureka-server)
dependencies {
compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
compile('org.springframework.boot:spring-boot-starter-web')
}
B项目的build.gradle(core)

dependencies {

}
configurations {
all*.exclude module: 'core'
}

打包方式为:
1、idea中选择任务
image
2、到A项目跟目录使用命令行:gradle build打包

Initialized native services

执行命令 -i 的时候 ./gradlew assemble --no-daemon -rerun-tasks -i

Initialized native services in: /home/logroot/.gradle/native
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/4.8.1/userguide/gradle_daemon.html.
Starting process 'Gradle build daemon'. Working directory: /home/logroot/.gradle/daemon/4.8.1 Command: /data/public/jdk/java8/bin/java -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Xmx2048m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp /home/logroot/.gradle/wrapper/dists/gradle-4.8.1-bin/e8p42vx1m7a3mz9ydmjagn6wn/gradle-4.8.1/lib/gradle-launcher-4.8.1.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 4.8.1
Successfully started process 'Gradle build daemon'
An attempt to start the daemon took 1.939 secs.
The client will now receive all logging from the daemon (pid: 9327). The daemon log file: /home/logroot/.gradle/daemon/4.8.1/daemon-9327.out.log
Daemon will be stopped at the end of the build stopping after processing
Using 16 worker leases.
Starting Build
Settings evaluated using settings file '/home/logroot/.jenkins/workspace/aao_develop/settings.gradle'.
Projects loaded. Root project using build file '/home/logroot/.jenkins/workspace/aao_develop/build.gradle'.
Included projects: [root project 'aao']

Configure project :
Evaluating root project 'aao' using build file '/home/logroot/.jenkins/workspace/aao_develop/build.gradle'.
Default docker.url set to unix:///var/run/docker.sock
All projects evaluated.
Selected primary task 'assemble' from project :
Tasks to be executed: [task ':compileJava', task ':processResources', task ':classes', task ':war', task ':assemble']
:compileJava (Thread[Task worker for ':',5,main]) started.

想问下这段过程gradle在干嘛,发现这段时间还是蛮久的,在测试环境大概有10秒左右,如果可以优化,优化的空间在哪?

Task :compileJava

unknown protocol: d

GitHub上下载了spring for hadoop,修改部分源码,重新编译报错,信息如下:
FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':referenceEpub'.

javax.xml.transform.TransformerException: Failure reading D:\程序文档\git下载\spring-data-hadoop\build\reference-work\index.xml
不是很清楚那个地方读取该文件出错,请求帮忙

使用gradle-5.0-rc-5-all.zip的时候又报错,Error:No such property: GradleVersion for class: JetGradlePlugin为什么?

gradle配置
group 'xxxxxx'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
mavenLocal()
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
mavenCentral()
jcenter()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' }
}

dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile 'org.springframework:spring-webmvc:5.0.5.RELEASE'
compile 'javax.validation:validation-api:2.0.1.Final'
compile 'org.hibernate:hibernate-validator:5.1.0.Final'
compile 'org.slf4j:slf4j-api:1.7.25'
runtime 'javax.servlet:jstl:1.2'
}

在执行gradle build时如何同时执行自定义的task?

我有一个多模块Spring Boot的工程,并且子工程均引用了'org.springframework.boot'插件,目录结构如下
/projectA
/projectA/serviceA
/projectA/serviceB
/projectA/serviceC
在projectA目录执行gradle build时,分别会在三个子工程的build/libs目录下生成jar包。
现在我想将打好的jar包统一复制到某个路径,并且我在/projectA/build.gradle中添加了如下代码:

allprojects {
    task copy () {
        doLast { task ->
	    copyJars() {
                CopySpec copySpec ->
                    from "${project.getBuildDir()}\\libs"
                    into "D:\\"  
            }
        }
    }
}

此时,在/projectA目录下执行gradle copy,即可将三个子工程的jar包复制到D盘根目录下。

需求是这样的,我希望在/projectA目录下执行gradle build时,在编译打包完成后自动执行copy任务,应该如何编写build.gradle文件?

gradle版本为5.5

ERROR [org.springframework.boot.SpringApplication] SpringApplication.java:821 - Application run failed

2019-12-20 10:03:25,922 [main] INFO [org.fisco.bcos.Application] StartupInfoLogger.java:50 - Starting Application on macdeMacBook-Pro-2.local with PID 938 (/usr/local/var/www/Java_project/spring-boot-starter/out/production/classes started by kevinsu in /usr/local/var/www/Java_project/spring-boot-starter)
2019-12-20 10:03:25,956 [main] INFO [org.fisco.bcos.Application] SpringApplication.java:646 - No active profile set, falling back to default profiles: default
2019-12-20 10:03:26,275 [main] ERROR [org.springframework.boot.SpringApplication] SpringApplication.java:821 - Application run failed
org.springframework.core.annotation.AnnotationConfigurationException: Attribute 'proxyBeanMethods' in annotation [org.springframework.boot.autoconfigure.SpringBootApplication] is declared as an @AliasFor nonexistent attribute 'proxyBeanMethods' in annotation [org.springframework.context.annotation.Configuration].; nested exception is java.lang.NoSuchMethodException: org.springframework.context.annotation.Configuration.proxyBeanMethods()
at org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.(AnnotationUtils.java:2187)
at org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.from(AnnotationUtils.java:2155)
at org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.getOtherDescriptors(AnnotationUtils.java:2319)
at org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.getAttributeAliasNames(AnnotationUtils.java:2306)
at org.springframework.core.annotation.AnnotationUtils.getAttributeAliasNames(AnnotationUtils.java:1820)
at org.springframework.core.annotation.AnnotationUtils.getAttributeAliasMap(AnnotationUtils.java:1729)
at org.springframework.core.annotation.AnnotationUtils.postProcessAnnotationAttributes(AnnotationUtils.java:1345)
at org.springframework.core.annotation.AnnotatedElementUtils.getMergedAnnotationAttributes(AnnotatedElementUtils.java:365)
at org.springframework.core.type.StandardAnnotationMetadata.getAnnotationAttributes(StandardAnnotationMetadata.java:121)
at org.springframework.context.annotation.AnnotationConfigUtils.attributesFor(AnnotationConfigUtils.java:285)
at org.springframework.context.annotation.AnnotationBeanNameGenerator.determineBeanNameFromAnnotation(AnnotationBeanNameGenerator.java:93)
at org.springframework.context.annotation.AnnotationBeanNameGenerator.generateBeanName(AnnotationBeanNameGenerator.java:72)
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.doRegisterBean(AnnotatedBeanDefinitionReader.java:224)
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.registerBean(AnnotatedBeanDefinitionReader.java:145)
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.register(AnnotatedBeanDefinitionReader.java:135)
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:156)
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:135)
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:127)
at org.springframework.boot.SpringApplication.load(SpringApplication.java:686)
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:384)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:310)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202)
at org.fisco.bcos.Application.main(Application.java:15)
Caused by: java.lang.NoSuchMethodException: org.springframework.context.annotation.Configuration.proxyBeanMethods()
at java.lang.Class.getDeclaredMethod(Class.java:2130)
at org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.(AnnotationUtils.java:2180)
... 23 common frames omitted

使用gradle-4.10-rc-3-bin.zip ,报错Plugin with id 'jetty' not found.为啥呢

gradle的配置是
apply plugin: 'war'
apply plugin: 'jetty'
apply plugin: 'eclipse-wtp'

repositories {
mavenLocal()
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
mavenCentral()
jcenter()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' }
}

dependencies {
providedCompile 'javax.servlet:servlet-api:2.5'
compile 'org.springframework:spring-webmvc:5.0.5.RELEASE'
compile 'javax.validation:validation-api:2.0.1.Final'
compile 'org.hibernate:hibernate-validator:5.1.0.Final'
compile 'org.slf4j:slf4j-api:1.7.25'
runtime 'javax.servlet:jstl:1.2'
}

/* Change context path (base url). otherwise defaults to name of project */
// eclipse.wtp.component.contextPath = ''
jettyRunWar.contextPath = ''

jar打包文件lib文件重复引用问题(文件过大,classes把第三方jar也打进来了)

BOOT-INFO/classes目录下把第三方包也打进来了,本来只要自己写的代码那部分。导致jar包文件比原来大一倍

apply from: '../../aiplat-common/config.gradle'
apply plugin: 'application'
apply plugin: 'org.springframework.boot'

dependencies {
compile project(':aiplat-common')
compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version:'1.5.9.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-amqp', version:'1.5.9.RELEASE'
compile group: 'io.prometheus', name: 'simpleclient_spring_boot', version:'0.0.26'
}

configurations.all {
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.9.RELEASE")
}
}

jar {
version = '2.0.0'
manifest {
attributes 'Main-Class': 'com.xtion.discovery.AiplatDiscoveryApplication'
attributes 'provider': 'gradle'
}
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
exclude 'META-INF/.RSA', 'META-INF/.SF', 'META-INF/*.DSA'
}

使用compile 'g:a:${version}' 引用了变量 报错是为什么

GString 需要用 双引号

所谓Gstring,是指通过双引号引起来的、带有占位表达式的字符串,如:def str = “${name}’s dog is ${dog.name}”,其中由美元符号括起来的部分就是占位表达式,而str就是一个Gstring对象。

Execution failed for task ':test'.

18:12:50: Executing tasks ':cleanTest :test --tests "com.eul98.AppTest.test1"'...

> Task :cleanTest
> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :compileTestJava UP-TO-DATE
> Task :processTestResources UP-TO-DATE
> Task :testClasses UP-TO-DATE
> Task :test FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> No tests found for given includes: [com.eul98.AppTest.test1](filter.includeTestsMatching)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
6 actionable tasks: 2 executed, 4 up-to-date
Cause: invalid type code: 25```

怎么解决Source set使main成为module,导致依赖失效

有两个工程,dubbo-session工程依赖common工程(common是基础工程,没有其他依赖),gradle依赖配置如图
gradle
dubbo-session工程中就是找不到common的com.star.boss.common.config.CompanyConfig
default
查看common的gradle任务结构与其他工程不同,含有Source Set(不懂这个怎么产生的)
common gradle
main文件夹怎么成了module呢?正常情况下,应该像下边config工程一样是个普通文件夹才对
main

请问有人遇到过这种情况吗,我强制把main剔除类路径,也不管用

代码混淆后的jar包中不包含依赖的第三方库

执行bootPro任务后打包出的jar中缺少了依赖的第三方sdk

环境:

jdk1.8
gradle 6.8
springboot 2.7.14

build.gradle配置如下:

tasks.register('proguard', ProGuardTask) {
        dependsOn compileJava
        // 输出混淆前->混淆后的映射
        printmapping "$buildDir/mapping.txt"
        // 混淆规则文件
        configuration '../config/proguard/proguard-rules.pro'
        // 混淆时依赖的库
        libraryjars files(configurations.compile.findAll {}.collect())
        libraryjars "${System.getProperty('java.home')}/lib/rt.jar"
        libraryjars "${System.getProperty('java.home')}/lib/jce.jar"
        // 混淆输入
        injars sourceSets.main.output
        // 混淆输出
        outjars "$buildDir/classes-pro"
    }

    tasks.register('bootPro', BootJar) {
        dependsOn 'proguard'
        // 重新组织boot-inf下的文件
        bootInf {
            into('classes') {
                from "$buildDir/classes-pro"
            }
            into('lib') {
                from configurations.runtime
            }
        }
        // 包名
        archiveBaseName = "shinow-pro"
        // 入口
        mainClass = 'com.shinow.template.ServerApplication'
        // 删除混淆后的文件 避免下次混淆打包报错
        doLast {
            new File("$buildDir/classes-pro").deleteDir()
        }
    }

dependencies {
        runtimeOnly "com.shinow.brick:project-module-admin:${adminVersion}"
        implementation "com.shinow.brick:project-common-admin:${adminVersion}"
        implementation "com.shinow.brick:brick-module-schedule:${brickModuleVersion}"

        implementation "org.springframework.boot:spring-boot-starter-data-redis"
        implementation "com.github.xiaoymin:knife4j-openapi2-spring-boot-starter:4.3.0"

        implementation fileTree(dir: '../lib', includes: ['*.jar'])
        compileOnly 'org.projectlombok:lombok:1.18.24'
        annotationProcessor 'org.projectlombok:lombok:1.18.24'
        implementation 'org.mapstruct:mapstruct:1.4.2.Final'
        annotationProcessor 'org.mapstruct:mapstruct-processor:1.4.2.Final'
        implementation 'com.mysql:mysql-connector-j'
        implementation 'org.postgresql:postgresql:42.4.1'
        implementation 'com.oracle.ojdbc:ojdbc8:19.3.0.0'
        implementation 'com.oracle.database.nls:orai18n:19.7.0.0'
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
        testAnnotationProcessor "org.mapstruct:mapstruct-processor:1.4.2.Final"
        runtimeOnly "org.owasp:dependency-check-gradle:${dependencyCheckVersion}"
        pmd "com.alibaba.p3c:p3c-pmd:${p3c}"
    }

proguard-rules.pro

-obfuscationdictionary 'directory.txt'
-classobfuscationdictionary 'directory.txt'
-packageobfuscationdictionary 'directory.txt'
-overloadaggressively

# 不警告
-dontwarn

# 不理会警告,否则混淆失败
-ignorewarnings

# 不压缩
-dontshrink

# 不优化
-dontoptimize

# 一个类中的成员不使用重复的命名,如Student类混淆后不能出现a属性和a方法。
-useuniqueclassmembernames

# 不混淆注解
-keepattributes *Annotation*

# 不混淆泛型
-keepattributes Signature

# 保留程序入口
-keep class com.shinow.template.ServerApplication {
    public *;
}

# 不混淆枚举
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.