Я начал получать эту ошибку после попытки подключить приложение Spring Boot к базе данных Oracle. Раньше это работало совершенно нормально, и я мог открыть свою главную страницу, перемещаться между страницами и отправить форму для создания Java-объекта, но теперь я даже не могу ее запустить.
Я пробовал удалить все ссылки на подключение к базе данных, но это, похоже, не помогает. Я понятия не имею, в чем проблема. Я просмотрел и увидел кучу других ответов, в которых говорилось о добавлении различных зависимостей, но ни один из них не сработал.
Я программист-любитель, поэтому, вероятно, я упустил из виду что-то очень простое. . Мы будем очень благодарны за любую помощь!
Ошибка:
java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection (CONNECTION_ID=+BjRCnJgT3uBCvSq3SCIaQ==)
at oracle.jdbc.driver.T4CConnection.handleLogonNetException(T4CConnection.java:902) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:707) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1094) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:89) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:732) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:648) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-5.0.1.jar:na]
at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) ~[spring-jdbc-6.1.6.jar:6.1.6]
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) ~[spring-jdbc-6.1.6.jar:6.1.6]
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) ~[spring-jdbc-6.1.6.jar:6.1.6]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:342) ~[spring-jdbc-6.1.6.jar:6.1.6]
at org.springframework.boot.jdbc.EmbeddedDatabaseConnection.isEmbedded(EmbeddedDatabaseConnection.java:168) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateDefaultDdlAutoProvider.getDefaultDdlAuto(HibernateDefaultDdlAutoProvider.java:42) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration.lambda$getVendorProperties$1(HibernateJpaConfiguration.java:142) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateSettings.getDdlAuto(HibernateSettings.java:41) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties.determineDdlAuto(HibernateProperties.java:118) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties.getAdditionalProperties(HibernateProperties.java:87) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties.determineHibernateProperties(HibernateProperties.java:80) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration.getVendorProperties(HibernateJpaConfiguration.java:143) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.entityManagerFactory(JpaBaseConfiguration.java:132) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1335) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1165) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) ~[spring-context-6.1.6.jar:6.1.6]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) ~[spring-context-6.1.6.jar:6.1.6]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) ~[spring-context-6.1.6.jar:6.1.6]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.5.jar:3.2.5]
at com.philosophy.plato.PlatoApplication.main(PlatoApplication.java:10) ~[classes/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) ~[spring-boot-devtools-3.2.5.jar:3.2.5]
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection (CONNECTION_ID=+BjRCnJgT3uBCvSq3SCIaQ==)
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:715) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:584) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:964) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:350) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:2627) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:666) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
... 50 common frames omitted
Caused by: oracle.net.ns.NetException: Unable to initialize ssl context.
at oracle.net.nt.CustomSSLSocketFactory.createSSLContext(CustomSSLSocketFactory.java:436) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.CustomSSLSocketFactory.getSSLContext(CustomSSLSocketFactory.java:393) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.CustomSSLSocketFactory.getSSLSocketEngine(CustomSSLSocketFactory.java:359) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.TcpsNTAdapter.newSSLEngine(TcpsNTAdapter.java:658) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.TcpsNTAdapter.connect(TcpsNTAdapter.java:255) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.ConnOption.connect(ConnOption.java:230) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.ConnStrategy.executeConnOption(ConnStrategy.java:1014) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:673) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
... 55 common frames omitted
Caused by: oracle.net.ns.NetException: Unable to initialize the key store.
at oracle.net.nt.CustomSSLSocketFactory.getKeyManagerArray(CustomSSLSocketFactory.java:710) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.CustomSSLSocketFactory.createSSLContext(CustomSSLSocketFactory.java:410) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
... 62 common frames omitted
Caused by: java.security.KeyStoreException: SSO not found
at java.base/java.security.KeyStore.getInstance(KeyStore.java:873) ~[na:na]
at oracle.net.nt.CustomSSLSocketFactory.getKeyStoreInstance(CustomSSLSocketFactory.java:924) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.CustomSSLSocketFactory.loadKeyStore(CustomSSLSocketFactory.java:1059) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.CustomSSLSocketFactory.getKeyManagerArray(CustomSSLSocketFactory.java:694) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
... 63 common frames omitted
Caused by: java.security.NoSuchAlgorithmException: SSO KeyStore not available
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:159) ~[na:na]
at java.base/java.security.Security.getImpl(Security.java:658) ~[na:na]
at java.base/java.security.KeyStore.getInstance(KeyStore.java:870) ~[na:na]
... 66 common frames omitted
Мой файл POM.XML:
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.2.5
com.philosophy.plato
Plato
0.0.1-SNAPSHOT
Plato
Plato
22
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-devtools
runtime
true
org.springframework.boot
spring-boot-starter-test
test
com.oracle.database.jdbc
ojdbc11
runtime
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-maven-plugin
Мой файл Application.properties:
Когда я ввожу информацию о базе данных в сборку intellij в системе подключения к БД и проверяю соединение, она работает. Но моя программа этого не делает.
spring.application.name=Plato
spring.datasource.url=jdbc:oracle:thin:@socratesdb_high?TNS_ADMIN=C:/Wallet_SocratesDB
spring.datasource.username=XXXX
spring.datasource.password=XXXX
spring.datasource.hikari.driver-class-name=oracle.jdbc.OracleDriver
Мой контроллер:
package com.philosophy.plato.controllers;
import com.philosophy.plato.objects.Employee;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.Arrays;
import java.util.List;
@Controller
public class HomeController {
@GetMapping("/")
public String landing() {
return "html/index";
}
@GetMapping("/demographic")
public String goToDemographic(Model model) {
Employee employee = new Employee();
model.addAttribute("employee", employee);
List prefixList = Arrays.asList(" ", "Mr.", "Mrs.", "Ms.", "Miss", "Dr.", "Rev.", "Sr.");
model.addAttribute("prefixList", prefixList);
List ethnicityList = Arrays.asList(" ", "American Indian", "Alaskan Native", "Asian", "Black", "Hispanic", "Pacific Islander", "White");
model.addAttribute("ethnicityList", ethnicityList);
List hispanicOrLatinoList = Arrays.asList(" ", "Y", "N");
model.addAttribute("hispanicOrLatinoList", hispanicOrLatinoList);
List statesList = Arrays.asList(
" ",
"AK - Alaska",
"AL - Alabama",
"AR - Arkansas",
"AS - American Samoa",
"AZ - Arizona",
"CA - California",
"CO - Colorado",
"CT - Connecticut",
"DC - District of Columbia",
"DE - Delaware",
"FL - Florida",
"GA - Georgia",
"GU - Guam",
"HI - Hawaii",
"IA - Iowa",
"ID - Idaho",
"IL - Illinois",
"IN - Indiana",
"KS - Kansas",
"KY - Kentucky",
"LA - Louisiana",
"MA - Massachusetts",
"MD - Maryland",
"ME - Maine",
"MI - Michigan",
"MN - Minnesota",
"MO - Missouri",
"MS - Mississippi",
"MT - Montana",
"NC - North Carolina",
"ND - North Dakota",
"NE - Nebraska",
"NH - New Hampshire",
"NJ - New Jersey",
"NM - New Mexico",
"NV - Nevada",
"NY - New York",
"OH - Ohio",
"OK - Oklahoma",
"OR - Oregon",
"PA - Pennsylvania",
"PR - Puerto Rico",
"RI - Rhode Island",
"SC - South Carolina",
"SD - South Dakota",
"TN - Tennessee",
"TX - Texas",
"UT - Utah",
"VA - Virginia",
"VI - Virgin Islands",
"VT - Vermont",
"WA - Washington",
"WI - Wisconsin",
"WV - West Virginia",
"WY - Wyoming");
model.addAttribute("stateList", statesList);
return "html/employeeEntry";
}
@PostMapping("/addEmployee")
public String addEmployee(@ModelAttribute("employee") Employee employee) {
System.out.println(employee);
System.out.println(employee.toString());
return "html/index";
}
}
И мой объект, который я хочу сохранить, мне нужно повторно добавить аннотации @Entity и @Id
package com.philosophy.plato.objects;
import java.sql.Date;
public class Employee {
private int idNum; // either entered as text or generated by button, required and unique
private String namePrefix; // drop down
private String nameFirst; // text entry
private String nameMiddle; // text entry
private String nameLast; // text entry
private String sex; // radio button
private String ethnicity; // drop down
private String hispanicOrLatino; // drop down
private String address; // text entry
private String city; // text entry
private String state; // drop down
private String zipCode; // text entry
private Date dateBirth; // YYYYMMDD
private Date dateStart; // YYYYMMDD
private String jobTitle; // text entry
public Employee() {}
public Employee(int idNum, String namePrefix, String nameFirst, String nameMiddle, String nameLast, String sex, String ethnicity, String hispanicOrLatino, String address, String city, String state, String zipCode, Date dateBirth, Date dateStart, String jobTitle) {
this.idNum = idNum;
this.namePrefix = namePrefix;
this.nameFirst = nameFirst;
this.nameMiddle = nameMiddle;
this.nameLast = nameLast;
this.sex = sex;
this.ethnicity = ethnicity;
this.hispanicOrLatino = hispanicOrLatino;
this.address = address;
this.city = city;
this.state = state;
this.zipCode = zipCode;
this.dateBirth = dateBirth;
this.dateStart = dateStart;
this.jobTitle = jobTitle;
}
public String getNamePrefix() {
return namePrefix;
}
@Override
public String toString() {
return "Employee{" +
"idNum=" + idNum +
", namePrefix='" + namePrefix + '\'' +
", nameFirst='" + nameFirst + '\'' +
", nameMiddle='" + nameMiddle + '\'' +
", nameLast='" + nameLast + '\'' +
", sex='" + sex + '\'' +
", ethnicity='" + ethnicity + '\'' +
", hispanicOrLatino='" + hispanicOrLatino + '\'' +
", address='" + address + '\'' +
", city='" + city + '\'' +
", state='" + state + '\'' +
", zipCode='" + zipCode + '\'' +
", dateBirth=" + dateBirth +
", dateStart=" + dateStart +
", jobTitle='" + jobTitle + '\'' +
'}';
}
public int getIdNum() {
return idNum;
}
public void setIdNum(int idNum) {
this.idNum = idNum;
}
public void setNamePrefix(String namePrefix) {
this.namePrefix = namePrefix;
}
public String getNameFirst() {
return nameFirst;
}
public void setNameFirst(String nameFirst) {
this.nameFirst = nameFirst;
}
public String getNameMiddle() {
return nameMiddle;
}
public void setNameMiddle(String nameMiddle) {
this.nameMiddle = nameMiddle;
}
public String getNameLast() {
return nameLast;
}
public void setNameLast(String nameLast) {
this.nameLast = nameLast;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getZipCode() {
return zipCode;
}
public void setZipCode(String zipCode) {
this.zipCode = zipCode;
}
public Date getDateBirth() {
return dateBirth;
}
public void setDateBirth(Date dateBirth) {
this.dateBirth = dateBirth;
}
public Date getDateStart() {
return dateStart;
}
public void setDateStart(Date dateStart) {
this.dateStart = dateStart;
}
public String getJobTitle() {
return jobTitle;
}
public void setJobTitle(String jobTitle) {
this.jobTitle = jobTitle;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getEthnicity() {
return ethnicity;
}
public void setEthnicity(String ethnicity) {
this.ethnicity = ethnicity;
}
public String getHispanicOrLatino() {
return hispanicOrLatino;
}
public void setHispanicOrLatino(String hispanicOrLatino) {
this.hispanicOrLatino = hispanicOrLatino;
}
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... se-options
Не могу запустить приложение Spring Boot после добавления некоторых параметров базы данных ⇐ JAVA
Программисты JAVA общаются здесь
1716329445
Anonymous
Я начал получать эту ошибку после попытки подключить приложение Spring Boot к базе данных Oracle. Раньше это работало совершенно нормально, и я мог открыть свою главную страницу, перемещаться между страницами и отправить форму для создания Java-объекта, но теперь я даже не могу ее запустить.
Я пробовал удалить все ссылки на подключение к базе данных, но это, похоже, не помогает. Я понятия не имею, в чем проблема. Я просмотрел и увидел кучу других ответов, в которых говорилось о добавлении различных зависимостей, но ни один из них не сработал.
Я программист-любитель, поэтому, вероятно, я упустил из виду что-то очень простое. . Мы будем очень благодарны за любую помощь!
[b]Ошибка:[/b]
java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection (CONNECTION_ID=+BjRCnJgT3uBCvSq3SCIaQ==)
at oracle.jdbc.driver.T4CConnection.handleLogonNetException(T4CConnection.java:902) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:707) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1094) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:89) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:732) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:648) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-5.0.1.jar:na]
at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) ~[spring-jdbc-6.1.6.jar:6.1.6]
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) ~[spring-jdbc-6.1.6.jar:6.1.6]
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) ~[spring-jdbc-6.1.6.jar:6.1.6]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:342) ~[spring-jdbc-6.1.6.jar:6.1.6]
at org.springframework.boot.jdbc.EmbeddedDatabaseConnection.isEmbedded(EmbeddedDatabaseConnection.java:168) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateDefaultDdlAutoProvider.getDefaultDdlAuto(HibernateDefaultDdlAutoProvider.java:42) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration.lambda$getVendorProperties$1(HibernateJpaConfiguration.java:142) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateSettings.getDdlAuto(HibernateSettings.java:41) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties.determineDdlAuto(HibernateProperties.java:118) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties.getAdditionalProperties(HibernateProperties.java:87) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties.determineHibernateProperties(HibernateProperties.java:80) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration.getVendorProperties(HibernateJpaConfiguration.java:143) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.entityManagerFactory(JpaBaseConfiguration.java:132) ~[spring-boot-autoconfigure-3.2.5.jar:3.2.5]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1335) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1165) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.6.jar:6.1.6]
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) ~[spring-context-6.1.6.jar:6.1.6]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) ~[spring-context-6.1.6.jar:6.1.6]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) ~[spring-context-6.1.6.jar:6.1.6]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.5.jar:3.2.5]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.5.jar:3.2.5]
at com.philosophy.plato.PlatoApplication.main(PlatoApplication.java:10) ~[classes/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) ~[spring-boot-devtools-3.2.5.jar:3.2.5]
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection (CONNECTION_ID=+BjRCnJgT3uBCvSq3SCIaQ==)
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:715) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:584) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:964) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:350) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:2627) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:666) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
... 50 common frames omitted
Caused by: oracle.net.ns.NetException: Unable to initialize ssl context.
at oracle.net.nt.CustomSSLSocketFactory.createSSLContext(CustomSSLSocketFactory.java:436) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.CustomSSLSocketFactory.getSSLContext(CustomSSLSocketFactory.java:393) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.CustomSSLSocketFactory.getSSLSocketEngine(CustomSSLSocketFactory.java:359) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.TcpsNTAdapter.newSSLEngine(TcpsNTAdapter.java:658) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.TcpsNTAdapter.connect(TcpsNTAdapter.java:255) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.ConnOption.connect(ConnOption.java:230) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.ConnStrategy.executeConnOption(ConnStrategy.java:1014) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:673) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
... 55 common frames omitted
Caused by: oracle.net.ns.NetException: Unable to initialize the key store.
at oracle.net.nt.CustomSSLSocketFactory.getKeyManagerArray(CustomSSLSocketFactory.java:710) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.CustomSSLSocketFactory.createSSLContext(CustomSSLSocketFactory.java:410) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
... 62 common frames omitted
Caused by: java.security.KeyStoreException: SSO not found
at java.base/java.security.KeyStore.getInstance(KeyStore.java:873) ~[na:na]
at oracle.net.nt.CustomSSLSocketFactory.getKeyStoreInstance(CustomSSLSocketFactory.java:924) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.CustomSSLSocketFactory.loadKeyStore(CustomSSLSocketFactory.java:1059) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
at oracle.net.nt.CustomSSLSocketFactory.getKeyManagerArray(CustomSSLSocketFactory.java:694) ~[ojdbc11-21.9.0.0.jar:21.9.0.0.0]
... 63 common frames omitted
Caused by: java.security.NoSuchAlgorithmException: SSO KeyStore not available
at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:159) ~[na:na]
at java.base/java.security.Security.getImpl(Security.java:658) ~[na:na]
at java.base/java.security.KeyStore.getInstance(KeyStore.java:870) ~[na:na]
... 66 common frames omitted
[b]Мой файл POM.XML:[/b]
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.2.5
com.philosophy.plato
Plato
0.0.1-SNAPSHOT
Plato
Plato
22
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-devtools
runtime
true
org.springframework.boot
spring-boot-starter-test
test
com.oracle.database.jdbc
ojdbc11
runtime
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-maven-plugin
[b]Мой файл Application.properties:[/b]
Когда я ввожу информацию о базе данных в сборку intellij в системе подключения к БД и проверяю соединение, она работает. Но моя программа этого не делает.
spring.application.name=Plato
spring.datasource.url=jdbc:oracle:thin:@socratesdb_high?TNS_ADMIN=C:/Wallet_SocratesDB
spring.datasource.username=XXXX
spring.datasource.password=XXXX
spring.datasource.hikari.driver-class-name=oracle.jdbc.OracleDriver
[b]Мой контроллер:[/b]
package com.philosophy.plato.controllers;
import com.philosophy.plato.objects.Employee;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.Arrays;
import java.util.List;
@Controller
public class HomeController {
@GetMapping("/")
public String landing() {
return "html/index";
}
@GetMapping("/demographic")
public String goToDemographic(Model model) {
Employee employee = new Employee();
model.addAttribute("employee", employee);
List prefixList = Arrays.asList(" ", "Mr.", "Mrs.", "Ms.", "Miss", "Dr.", "Rev.", "Sr.");
model.addAttribute("prefixList", prefixList);
List ethnicityList = Arrays.asList(" ", "American Indian", "Alaskan Native", "Asian", "Black", "Hispanic", "Pacific Islander", "White");
model.addAttribute("ethnicityList", ethnicityList);
List hispanicOrLatinoList = Arrays.asList(" ", "Y", "N");
model.addAttribute("hispanicOrLatinoList", hispanicOrLatinoList);
List statesList = Arrays.asList(
" ",
"AK - Alaska",
"AL - Alabama",
"AR - Arkansas",
"AS - American Samoa",
"AZ - Arizona",
"CA - California",
"CO - Colorado",
"CT - Connecticut",
"DC - District of Columbia",
"DE - Delaware",
"FL - Florida",
"GA - Georgia",
"GU - Guam",
"HI - Hawaii",
"IA - Iowa",
"ID - Idaho",
"IL - Illinois",
"IN - Indiana",
"KS - Kansas",
"KY - Kentucky",
"LA - Louisiana",
"MA - Massachusetts",
"MD - Maryland",
"ME - Maine",
"MI - Michigan",
"MN - Minnesota",
"MO - Missouri",
"MS - Mississippi",
"MT - Montana",
"NC - North Carolina",
"ND - North Dakota",
"NE - Nebraska",
"NH - New Hampshire",
"NJ - New Jersey",
"NM - New Mexico",
"NV - Nevada",
"NY - New York",
"OH - Ohio",
"OK - Oklahoma",
"OR - Oregon",
"PA - Pennsylvania",
"PR - Puerto Rico",
"RI - Rhode Island",
"SC - South Carolina",
"SD - South Dakota",
"TN - Tennessee",
"TX - Texas",
"UT - Utah",
"VA - Virginia",
"VI - Virgin Islands",
"VT - Vermont",
"WA - Washington",
"WI - Wisconsin",
"WV - West Virginia",
"WY - Wyoming");
model.addAttribute("stateList", statesList);
return "html/employeeEntry";
}
@PostMapping("/addEmployee")
public String addEmployee(@ModelAttribute("employee") Employee employee) {
System.out.println(employee);
System.out.println(employee.toString());
return "html/index";
}
}
[b]И мой объект, который я хочу сохранить, мне нужно повторно добавить аннотации @Entity и @Id[/b]
package com.philosophy.plato.objects;
import java.sql.Date;
public class Employee {
private int idNum; // either entered as text or generated by button, required and unique
private String namePrefix; // drop down
private String nameFirst; // text entry
private String nameMiddle; // text entry
private String nameLast; // text entry
private String sex; // radio button
private String ethnicity; // drop down
private String hispanicOrLatino; // drop down
private String address; // text entry
private String city; // text entry
private String state; // drop down
private String zipCode; // text entry
private Date dateBirth; // YYYYMMDD
private Date dateStart; // YYYYMMDD
private String jobTitle; // text entry
public Employee() {}
public Employee(int idNum, String namePrefix, String nameFirst, String nameMiddle, String nameLast, String sex, String ethnicity, String hispanicOrLatino, String address, String city, String state, String zipCode, Date dateBirth, Date dateStart, String jobTitle) {
this.idNum = idNum;
this.namePrefix = namePrefix;
this.nameFirst = nameFirst;
this.nameMiddle = nameMiddle;
this.nameLast = nameLast;
this.sex = sex;
this.ethnicity = ethnicity;
this.hispanicOrLatino = hispanicOrLatino;
this.address = address;
this.city = city;
this.state = state;
this.zipCode = zipCode;
this.dateBirth = dateBirth;
this.dateStart = dateStart;
this.jobTitle = jobTitle;
}
public String getNamePrefix() {
return namePrefix;
}
@Override
public String toString() {
return "Employee{" +
"idNum=" + idNum +
", namePrefix='" + namePrefix + '\'' +
", nameFirst='" + nameFirst + '\'' +
", nameMiddle='" + nameMiddle + '\'' +
", nameLast='" + nameLast + '\'' +
", sex='" + sex + '\'' +
", ethnicity='" + ethnicity + '\'' +
", hispanicOrLatino='" + hispanicOrLatino + '\'' +
", address='" + address + '\'' +
", city='" + city + '\'' +
", state='" + state + '\'' +
", zipCode='" + zipCode + '\'' +
", dateBirth=" + dateBirth +
", dateStart=" + dateStart +
", jobTitle='" + jobTitle + '\'' +
'}';
}
public int getIdNum() {
return idNum;
}
public void setIdNum(int idNum) {
this.idNum = idNum;
}
public void setNamePrefix(String namePrefix) {
this.namePrefix = namePrefix;
}
public String getNameFirst() {
return nameFirst;
}
public void setNameFirst(String nameFirst) {
this.nameFirst = nameFirst;
}
public String getNameMiddle() {
return nameMiddle;
}
public void setNameMiddle(String nameMiddle) {
this.nameMiddle = nameMiddle;
}
public String getNameLast() {
return nameLast;
}
public void setNameLast(String nameLast) {
this.nameLast = nameLast;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getZipCode() {
return zipCode;
}
public void setZipCode(String zipCode) {
this.zipCode = zipCode;
}
public Date getDateBirth() {
return dateBirth;
}
public void setDateBirth(Date dateBirth) {
this.dateBirth = dateBirth;
}
public Date getDateStart() {
return dateStart;
}
public void setDateStart(Date dateStart) {
this.dateStart = dateStart;
}
public String getJobTitle() {
return jobTitle;
}
public void setJobTitle(String jobTitle) {
this.jobTitle = jobTitle;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getEthnicity() {
return ethnicity;
}
public void setEthnicity(String ethnicity) {
this.ethnicity = ethnicity;
}
public String getHispanicOrLatino() {
return hispanicOrLatino;
}
public void setHispanicOrLatino(String hispanicOrLatino) {
this.hispanicOrLatino = hispanicOrLatino;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78514557/cant-launch-my-spring-boot-app-after-adding-some-database-options[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия