ドッキング用のコンテナをCentOSとBoot2Dockerでローカルにセットアップしました。目標はPostgresに接続するJAVAアプリケーションをインストールすることです。 1.8のJava JDKおよびJREがインストールされています。 Postgresは起動しています。私はpsqlでそれに接続して作業することができます。ドッカのPostgresに接続するとJAVAアプリ用のJDBCドライバクラスがロードされない
JavaアプリケーションがIntellijでjarファイルとしてコンパイルされました。 POM.xmlファイルが添付されています。すべてintellijにうまくいきます。私は、コマンドラインからドッキングウィンドウでアプリケーションを実行しようとすると、しかし、:APP_NAME.jar -jar javaの、私は、次のエラーメッセージが表示されます。
「のPostgreSQLで発見9.4.1212.jre7
:瓶ファイル:!。:/demo_data/out/artifacts/demo_data_jar/demo_data.jar /org/postgresql/Driver.class
PgJDBCドライバは、実行可能なJavaプログラムではありません
あなたは、JDBCによると、それをインストールする必要があります。アプリケーション/ container/appserverのドライバのインストール手順を確認してから、の形式のJDBC URLを指定して使用してください0 jdbc:postgresql:// またはアプリケーション固有の方法を使用してください。
PgJDBCのマニュアルを参照してください:http://jdbc.postgresql.org/documentation/head/index.html
このコマンドには影響を与えなかった「ここで
はPOMである:。 http://maven.apache.org/xsd/maven-4.0.0 .xsd "> 4.0.0
<groupId>com.align</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo_data</name>
<description>Program to create demo data for align care.</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
メインクラスはMANIFESTファイルで「メインクラス:com.align.DemoDataApplication」と正しく参照されていました。ただし、Intellijはこのファイルをsrc/java/META-INF /の下のディレクトリにドロップします。これはMavenプロジェクトでは機能しません。 src/resources/META-INF /の下にある必要があります。 JREはメインクラスを見つけることができなかったので、postgresドライバでメインクラスを見つけ出し、代わりに実行しようとしました。 MANIFESTを手作業でリソースフォルダにコピーし、再コンパイルして動作させました。ご協力いただきありがとうございます。 –