Spring bootプロジェクトmvn packageコマンド実行時にデータベース接続が検出されます
1682 ワード
プロジェクト構造sprignboot+maven+mysql+docker
プロジェクトをパッケージ化するときにmvn clean packageを実行するときにエラーが発生しました.
com.alibaba.druid.pool.DruidDataSource: create connection error, url: jdbc:mysql://10.77.0.2:3306/cms?characterEncoding=utf8&useSSL=true, errorCode 0, state 08S01
エラーメッセージを表示する理由は、パッケージのときにデータベース接続をチェックした可能性があります.データベースアドレスはすべてイントラネットIPなので、パッケージのときに接続すると間違いを報告しないに違いありません.そのときに探しているコンポーネントは、パッケージのときにこれをチェックします.
1号疑い対象:mybatis逆工程
プロジェクトコード構築当初にリバースエンジニアリングという部分をデータベース接続に使用したため,リバースエンジニアリングに関するすべての構成を削除した.
これで間違いを報告しないだろうと思った.しかし、事実は逆なのか、それとも間違っているのか!!同じ間違い!
2番疑わしいオブジェクト接続プール/mybatis
ネット上の接続プールの配置を調べてもpackageの時に関連する配置があるとは言っていません
3号疑わしい対象テストクラス
以前のプロジェクトと比較して、私のプロジェクトにテストクラスがあるかどうかがパッケージの時にテストクラスに入ったかどうかを発見しました.
検証方法:すべてのテストクラスを削除
結果:実行成功
原因をまとめる:
パッケージの時にmaven test部分をスキップしてtestを実行する時にデータベース接続をチェックしました
逆証明:
test部分コード実行コマンドmvn clean package-ドマvenを加える.test.skip=true
結果:成功!!!
プロジェクトをパッケージ化するときにmvn clean packageを実行するときにエラーが発生しました.
com.alibaba.druid.pool.DruidDataSource: create connection error, url: jdbc:mysql://10.77.0.2:3306/cms?characterEncoding=utf8&useSSL=true, errorCode 0, state 08S01
エラーメッセージを表示する理由は、パッケージのときにデータベース接続をチェックした可能性があります.データベースアドレスはすべてイントラネットIPなので、パッケージのときに接続すると間違いを報告しないに違いありません.そのときに探しているコンポーネントは、パッケージのときにこれをチェックします.
1号疑い対象:mybatis逆工程
プロジェクトコード構築当初にリバースエンジニアリングという部分をデータベース接続に使用したため,リバースエンジニアリングに関するすべての構成を削除した.
これで間違いを報告しないだろうと思った.しかし、事実は逆なのか、それとも間違っているのか!!同じ間違い!
2番疑わしいオブジェクト接続プール/mybatis
ネット上の接続プールの配置を調べてもpackageの時に関連する配置があるとは言っていません
3号疑わしい対象テストクラス
以前のプロジェクトと比較して、私のプロジェクトにテストクラスがあるかどうかがパッケージの時にテストクラスに入ったかどうかを発見しました.
@RunWith(SpringRunner.class)
@SpringBootTest
public class EducationCmsApplicationTests {
@Test
public void contextLoads() {
}
@Autowired
private SiteInfoMapper siteInfoMapper;
@Test
public void siteInfotest() {
SiteInfoQuery siteInfo = new SiteInfoQuery();
ArrayList strList = new ArrayList();
strList.add("1");
siteInfo.setOrganizationIdList(strList);
List siteInfos = siteInfoMapper.selectBySelective(siteInfo);
for (SiteInfo s: siteInfos) {
System.out.println("ok");
System.out.println(s.getSiteName());
}
}
}
検証方法:すべてのテストクラスを削除
結果:実行成功
原因をまとめる:
パッケージの時にmaven test部分をスキップしてtestを実行する時にデータベース接続をチェックしました
逆証明:
test部分コード実行コマンドmvn clean package-ドマvenを加える.test.skip=true
結果:成功!!!