plugins { id 'org.springframework.boot' version '2.7.17' id 'io.spring.dependency-management' version '1.1.3' id 'java' id 'java-library' id 'eclipse' id 'idea' id 'war' } bootJar.enabled = true jar.enabled = false group = 'com.eactive' version = '2.0.0' sourceCompatibility = "1.8" targetCompatibility = "1.8" def reposiliteUrl = "http://localhost:8080" allprojects { repositories { maven { url "${reposiliteUrl}/private" allowInsecureProtocol = true credentials { username = reposiliteUser password = reposilitePassword } } } } configurations { annotationProcessor configureEach { exclude module: 'spring-boot-starter-logging' } } compileJava { options.annotationProcessorPath = configurations.annotationProcessor options.encoding = 'UTF-8' } war { archiveFileName = "elink-test-master.war" exclude '**/persistence.xml' exclude '**/context.xml' } dependencies { annotationProcessor "org.mapstruct:mapstruct-processor:1.5.5.Final" implementation 'org.mapstruct:mapstruct:1.5.5.Final' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.data:spring-data-envers' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-log4j2' implementation 'org.springframework.boot:spring-boot-starter-websocket' implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5' implementation 'com.navercorp.lucy:lucy-xss-servlet:2.0.1' implementation group: 'com.lmax', name: 'disruptor', version: '3.4.4' if (project.hasProperty("profile") && project.property("profile") == "weblogic") { // WebLogic 배포 시에는 톰캣을 WAR에 넣지 않음 implementation('org.springframework.boot:spring-boot-starter-web') { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat' } providedCompile "javax:javaee-api:8.0" } else { implementation 'org.springframework.boot:spring-boot-starter-web' } // implementation 'io.springfox:springfox-boot-starter:3.0.0' implementation 'org.apache.httpcomponents:httpclient:4.5.14' implementation 'com.hazelcast:hazelcast:4.2.8' implementation 'com.hazelcast:hazelcast-spring:4.2.8' // implementation("org.graalvm.polyglot:polyglot:24.1.0") // implementation("org.graalvm.polyglot:js:24.1.0") implementation 'org.apache.commons:commons-lang3:3.12.0' implementation 'org.apache.commons:commons-math3:3.6.1' implementation 'commons-io:commons-io:2.11.0' implementation 'com.jayway.jsonpath:json-path:2.9.0' implementation 'io.netty:netty-all:4.1.97.Final' implementation('commons-beanutils:commons-beanutils:1.9.4') { exclude group: 'commons-collections', module: 'commons-collections' } runtimeOnly 'com.h2database:h2:1.4.200' runtimeOnly 'org.springframework.boot:spring-boot-devtools' implementation 'org.mdkt.compiler:InMemoryJavaCompiler:1.3.0' testImplementation 'org.springframework.boot:spring-boot-starter-test' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' // Weblogic 14.1.2(Java17) 대응 관련 // Nashorn(JavaScript 엔진, Java15이상 JRE System Library에서 제외됨) 대응, 대체용 검토필요. // implementation 'org.graalvm.js:js:25.0.0' // implementation 'org.graalvm.js:js-scriptengine:25.0.0' implementation "org.openjdk.nashorn:nashorn-core:15.4" } bootJar { archiveFileName = "elink-test-master.jar" } test { useJUnitPlatform() } war { // Set the name of the WAR file (optional) archiveFileName = "elink-test-master.war" // from('src/main/resources/jeus-web-dd.xml') { into 'WEB-INF' } from('src/main/resources/weblogic.xml') { into 'WEB-INF' } } bootWar { archiveFileName = "elink-test-master.war" from('src/main/resources/weblogic.xml') { into 'WEB-INF' } }