Mam zewnętrzny plik .jar, którego nie można zaimportować z publicznych repozytoriów przy użyciu pom.xml, to jest sqljdbc41.jar
.Dodaj bibliotekę zewnętrzną .jar do Spring boot .jar internal/lib
Mogę uruchomić projekt lokalnie z mojego IDE i wszystko będzie działać. I odniesienia do biblioteki po pobraniu go tak:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc41</artifactId>
<version>4.1</version>
<scope>system</scope>
<systemPath>${basedir}/lib/sqljdbc41.jar</systemPath>
</dependency>
Kiedy biegnę mvn clean package
utworzyć mój plik .jar i spróbuj uruchomić utworzoną .jar, błąd pojawi się, który wspomina odniesienia SQL Server nie są ważny. Następnie wyodrębniłem mój plik .jar i na tyle prawdziwe, że wszystko, co jest wymienione w pliku pom.xml
, zostało poprawnie pobrane i dodane, jednak mój serwer SQL tego nie robi.
Mogę, w bardzo hackowy sposób * po prostu ręcznie dodać sqljdbc41.jar
do folderu/lib po skompilowaniu go jako .jar, i zadziała, ale wydaje się wysoce nieoptymalny. Jakie byłoby lepsze podejście?
* Otwarcie pliku .jar z Winrar, przechodząc do folderu/lib, ręcznie wybierając mój plik sqljdbc41.jar
, a następnie upewnij się, aby wybrać opcję bez kompresji dolny lewy gdzie Winrar daje opcje kompresji, w przypadku, gdy znaleźć to przez Google i nikt nie odpowiedział.
Mam zwykle używany Nośnik artefakcyjny lub Sonatype do przechowywania artefaktu Microsoft. Ale wolę przełączyć się na JTDS: net.sourceforge.jtds: jtds: 1.3.1 (może być nowsza wersja). – Steve
Widziałem jtd i uważałem, że był to nowy projekt, ale w tym momencie jest to całkowicie zbudowana aplikacja, więc przejście na JTDS jest nieopłacalne ze względu na ograniczenia czasowe. Zajmę się jednak Nos sztuczny/Sonatype. – Erick