Kon*_*ski 7 java artifactory gradle visual-studio-code
我们有一堆私有 Java 依赖项发布到 Artifactory。我们正在使用 Gradle 来构建我们的项目。
\n问题是 VSCode 对 Java 的语言支持无法识别build.gradle
Java 源代码中的依赖项/导入。
注意:下面的所有代码片段均完全从源代码/VS Code 消息中复制粘贴,但公司域被替换为 mycompany.com 且 Artifactory 凭证被编辑。
\n我在 Java 源代码中看到的错误是:
\nThe import com.mycompany.observability cannot be resolved\n
Run Code Online (Sandbox Code Playgroud)\nMycompanyLogger cannot be resolved\n
Run Code Online (Sandbox Code Playgroud)\n这是有错误的 Java 文件:
\npackage com.mycompany.sample;\n\nimport com.mycompany.observability.logging.MycompanyLogger;\n\npublic class SampleApplication {\n\n public static void main(String[] args) {\n MycompanyLogger.setServiceName("SERVICE_NAME");\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n以及以下错误build.gradle
:
Unresolved dependency: com.mycompany:core-observability-spring:0.0.37\n
Run Code Online (Sandbox Code Playgroud)\n这是build.gradle
文件:
plugins {\n id 'io.spring.dependency-management' version '1.0.9.RELEASE'\n id 'org.springframework.boot' version '2.3.4.RELEASE'\n id 'java-library'\n id 'application'\n id 'checkstyle'\n id 'pmd'\n id 'jacoco'\n id 'com.jfrog.artifactory' version "4.17.2"\n id "org.sonarqube" version "3.0"\n}\n\ngroup = 'com.mycompany'\nversion = '0.0.1-SNAPSHOT'\n\njava {\n sourceCompatibility = JavaVersion.VERSION_11\n targetCompatibility = JavaVersion.VERSION_11\n}\n\nrepositories {\n mavenLocal()\n mavenCentral()\n}\n\njar.archiveBaseName = "sample-service"\nmainClassName = 'com.mycompany.sample.SampleApplication'\n\napply plugin: 'com.jfrog.artifactory'\napply plugin: "java"\n\nartifactory {\n contextUrl = "https://artifactory.mycompany.com/artifactory/"\n resolve {\n repository {\n repoKey = 'gradle-release'\n username = project.findProperty('artifactory_user')\n password = project.findProperty('artifactory_key')\n maven = true\n }\n }\n}\n\ndependencies {\n implementation('org.springframework.boot:spring-boot-starter-web')\n implementation('org.springframework.boot:spring-boot-starter-aop')\n implementation('org.codehaus.janino:commons-compiler:3.1.0') // Conditional expressions in logback\n implementation('org.codehaus.janino:janino:3.1.0') // Conditional expressions in logback\n implementation("ch.qos.logback:logback-classic:1.2.3")\n implementation('net.logstash.logback:logstash-logback-encoder:6.3')\n implementation('com.datadoghq:dd-java-agent:0.51.0')\n\n implementation('com.mycompany:core-observability-spring:0.0.37')\n}\n\ncheckstyle {\n toolVersion "8.29"\n configFile = file("${rootDir}/config/checkstyle/google_checks.xml")\n}\n\njar {\n enabled = true\n}\n\npmd {\n ignoreFailures = false\n ruleSetFiles = files("config/pmd/mycompany_custom_ruleset.xml")\n ruleSets = []\n sourceSets = []\n}\n
Run Code Online (Sandbox Code Playgroud)\n这是我的目录中的相关文件~/.gradle/
:
\xe2\x9e\x9c .gradle cat gradle.properties\nartifactory_user=<redacted>\nartifactory_key=<redacted>\n
Run Code Online (Sandbox Code Playgroud)\n\xe2\x9e\x9c .gradle cat init.gradle.kts \nsettingsEvaluated {\n pluginManagement {\n val artifactory_user: String? by settings\n val artifactory_password: String? by settings\n val artifactory_key: String? by settings\n\n repositories {\n maven(url = "https://artifactory.mycompany.com/artifactory/gradle-release") {\n credentials {\n username = artifactory_user\n password = artifactory_password ?: artifactory_key\n }\n }\n gradlePluginPortal()\n }\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n最后,这是我.vscode
这个项目的配置文件:
\xe2\x9e\x9c .vscode git:(vscode-settings) cat settings.json \n{\n "[java]": {\n "editor.formatOnSave": false,\n },\n "editor.formatOnSave": true,\n "files.insertFinalNewline": true,\n "files.trimFinalNewlines": true,\n "files.trimTrailingWhitespace": true,\n "terminal.integrated.scrollback": 10000,\n "java.configuration.updateBuildConfiguration": "automatic",\n "java.import.gradle.enabled": true,\n "java.import.gradle.wrapper.enabled": true,\n "java.import.maven.enabled": false,\n}\n
Run Code Online (Sandbox Code Playgroud)\n\xe2\x9e\x9c .vscode git:(vscode-settings) cat extensions.json \n{\n "recommendations": [\n "gabrielbb.vscode-lombok",\n "pivotal.vscode-spring-boot",\n "richardwillis.vscode-gradle-extension-pack",\n "vscjava.vscode-java-pack"\n ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n使用以下命令编译应用程序时一切正常./gradlew build
:
\xe2\x9e\x9c sample-service git:(master) \xe2\x9c\x97 ./gradlew build\n\nBUILD SUCCESSFUL in 5s\n11 actionable tasks: 8 executed, 3 up-to-date\n
Run Code Online (Sandbox Code Playgroud)\n关于调试这个问题的下一步应该是什么有什么想法吗?
\n小智 13
我遇到了同样的问题,对我有帮助的是跑步
Java: Clean Java Language Server Workspace
从Command Palette
。
看来 Java Language Server 仍保留旧版本。
归档时间: |
|
查看次数: |
6945 次 |
最近记录: |