Ho un file .jar esterno che non può essere importato da archivi pubblici usando pom.xml, è sqljdbc41.jar
.Aggiungi libreria esterna .jar a Spring boot .jar internal/lib
Posso eseguire il progetto localmente dal mio IDE e tutto funzionerà. Ho fatto riferimento alla biblioteca dopo aver scaricato in questo modo:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc41</artifactId>
<version>4.1</version>
<scope>system</scope>
<systemPath>${basedir}/lib/sqljdbc41.jar</systemPath>
</dependency>
Quando eseguo mvn clean package
di creare il mio file .jar e tenta di eseguire il .jar creato, un errore pop-up, che cita i riferimenti di SQL Server non sono valido. Ho quindi estratto il mio file .jar e, a dire il vero, tutto ciò che viene referenziato nel file pom.xml
viene scaricato correttamente e aggiunto, tuttavia, il mio SQL Server no.
Posso, in modo molto hacky * aggiungere manualmente il sqljdbc41.jar
alla mia cartella/lib dopo che è stato compilato come .jar, e funzionerà, tuttavia sembra altamente non ottimale. Quale sarebbe un approccio migliore?
* L'apertura del file .jar con Winrar, andando nella cartella/lib, selezionare manualmente il mio file sqljdbc41.jar
, quindi assicurarsi di selezionare l'opzione in basso a sinistra dove Nessuna compressione Winrar ti dà opzioni di compressione, nel caso in cui trova questo da Google e nessuno risponde.
Ho cercato di utilizzare Artifactory o Sonatype Nexus per archiviare l'artefatto Microsoft. Ma la mia preferenza è passare a JTDS: net.sourceforge.jtds: jtds: 1.3.1 (potrebbe esserci una versione più recente). – Steve
Ho visto jtds e considererei questo un nuovo progetto, ma è a questo punto un'applicazione completamente costruita, quindi passare a JTDS non è sostenibile a causa di vincoli di tempo. Vedrò comunque Artificial/Sonatype Nexus. – Erick