[英]Spring Boot 2.0.0 , DataSourceBuilder not found in autoconfigure jar
[英]Spring boot mac: jar not found
我目前正在嘗試以一種舊的方式容器化Spring Boot應用程序。 我想使用maven命令構建項目,將jar(及其依賴項)復制到容器中,然后使用嵌入式Tomcat運行Jar。
到目前為止,我已經編寫了一個maven配置文件來編譯我的代碼並構建一個jar。 在罐子里放着所有依賴罐子。 完善!
當我嘗試通過cli手動運行jar時,不幸的事情發生了。 CLI抱怨說缺少一個依賴項jar,但是在解壓縮和挖掘父jar本身之后,情況似乎並非如此。
請允許我進一步細分一下:
這是我的Maven個人資料:
<profile>
<id>docker</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<packaging.type>jar</packaging.type>
<log.dir>logs</log.dir>
<!-- updates bootstrap.properties -->
<config.override.path>./conf</config.override.path> <!-- "file:" cannot be used with relative path (not a valid URI, y'all) -->
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
</profile>
這是我用來運行內置Jar的命令:
java -jar target/the-jar-1.0.0-SNAPSHOT.jar
最后,這是錯誤:
java.io.FileNotFoundException: target/the-jar-1.0.0-SNAPSHOT.jar!/BOOT-INF/lib/the-missing-jar-1.0.0-SNAPSHOT.jar (No such file or directory)
我解壓縮了“ the-jar”,只是找到了在其適當位置的“ the-missing-jar”。 不僅如此,當我在IDE(IntelliJ)中啟動父級Jar時,它可以很好地工作。
我在這里缺少什么嗎? 我應該采用其他方法嗎? 我覺得我現在太近了,無法退出。
更新:在一些人的建議下,我更改了構建配置文件。 我同意這是一種更好的方法,但它並沒有改變結果。 我在嘗試執行uber jar時仍未找到關於jar的相同的特定錯誤。
<profile>
<id>docker</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<packaging.type>jar</packaging.type>
<log.dir>logs</log.dir>
<!-- updates bootstrap.properties -->
<config.override.path>./conf</config.override.path> <!-- "file:" cannot be used with relative path (not a valid URI, y'all) -->
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
無需手動包裝彈簧靴應用程序。
您可以讓spring-boot-maven-plugin
為您正確構建它。
您需要添加
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
到您的Maven項目,您將可以通過執行以下命令來正確打包“ uber-jar”:
mvn package
這是構建可執行jar的spring-boot建議方法。
您可以在文檔中找到更多詳細信息,包括可運行的示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.