반응형

STS 메뉴 -> Help ->  Eclipse Marketplace -> "Angular" 로 검색


Angular IDE CI 가 제일 위에 있다. 이놈은 라이센스가 있는놈이다. 무료평가 시기 45일 지나면 못쓴다.  그래서 이놈은 패스

아래 AngularJS Eclipse 1.2.0 요놈은 AngularJS 라서 패스.

조금더 내리다 보면 Angular Eclipse 1.3.0 이 있다. 요놈으로 설치 해볼려고 한다.


Angular Eclipse 1.3.0 2018-12-07 지금 이건 설치 비추한다. 

여러가기 버그가 존재하고. 

https://github.com/angelozerr/angular-eclipse/issues/107 해결이 안된다. 

설치 해보고 싶으면 Angular IDE CI 요놈으로다가 무료기간 동안만 써보시길 바란다.


Angular Eclipse is a set of plugins which provide support for Angular:


타입스크립트 지원, Angular cli 통합 터미털, Angular@ 문법을 에디터에서 지원한다고 한다.

위자드와 라운처도는 파일 자동생성이나 빌드 관련 툴 같은데 나중에 써봐야겠다.


TypeScript Debugging support 는  Oxgen 버전 이상이어야 지원된다고 하는거 같은데 일단 체크 하고 다음 으로 진행 했다.


라이센스 동의후 완료 하면 창이 닫히면서 설치 진행된다.


중간에 보안관련해서 설치 진행 할꺼냐고 묻는다. Install Anyway 로 해서 진행 했다.


STS 재시작 하라고 나온다. Restart Now 로 재시작 한다.


머가 바꿨는지 보면 일단 오른쪽 상단에 Perspective 를 눌러보면 다음과 같이 Angular가 딱하니 있다.


Angular Perspective 로 변경해서 작업 하자.


기본 화면 구조는 같아보이고 하단에 터미널이 눈에 띈다.  CLI 관련 처리를 위해서 기본으로 나온거 같아보인다.


하면서 전부 캡쳐 해놓은거 캡쳐 프로그램 오류로 캡쳐 이미지 전부 없어졌다.   

아래는 맨마지막  Angular Perspective 로 변경 후 이미지를 다시 캡쳐한것이다.

sts angular perspectivests angular perspective view



https://angular.io/guide/language-service 에 있듯이 아래 3개 중에 하나로 하는걸 강추 한다.

Visual Studio code로 해볼 예정이다.

  • Visual Studio Code 

  • WebStorm

  • Sublime Text



반응형
반응형

처음 STS 를 설치하면 기본 테마로 코드 창이 하얏다.

기본 STS처음 설치시 STS 화면


기타 멋져보이는 개발자(?) 처럼 테마를 거무스름 하게 바꾸어보자

STS Proference 화면General -> Apperance 화면

메뉴에 Window -> Preference -> 좌측 메뉴 General -> Apperance 에서 테마를 ( Theme )  Dark  로 변경한다. 

기본은 Light로 되어 있었다.

변경후 [Apply and Close] 버튼을 클릭 하면 시력보호에 좋은 검은색 으로 완료~!.

STS 다크 테마 화면STS 다크 테마 화면


반응형
반응형

spring integration

https://github.com/spring-projects/spring-integration-samples/blob/master/basic/tcp-client-server/src/main/resources/META-INF/spring/integration/tcpClientServerDemo-context.xml


https://gitlab.com/kjkjjang/echo-server-client/blob/master/src/main/resources/META-INF/spring/integration/serverConfig.xml


angular + spring boot

https://chariotsolutions.com/blog/post/angular-2-spring-boot-jwt-cors_part1/

https://github.com/oktadeveloper/spring-boot-angular-example


angular + sts

https://grokonez.com/tool/setup-angular-ide-spring-tool-suite

라이센스를 잘 읽어봐서 설치해야된다. ( 특정 기간이 지난후 유료로 변하는것도 많다.)


spring boot + swing 

https://github.com/DanielMichalski/spring-boot-swing-reservations


spring boot rest service

https://spring.io/guides/tutorials/bookmarks/


spring boot rest api + tdd

https://github.com/pivotal-chicago/spring-boot-rest-api-tdd


spring boot + tdd

https://jojoldu.tistory.com/33


java8 optional

http://asfirstalways.tistory.com/354


spring boot + datatable server

https://www.opencodez.com/java/datatable-with-spring-boot.htm


Spring Boot + Angular 6 example | Spring Data JPA + REST + MySQL CRUD example

https://grokonez.com/spring-framework/spring-data/spring-boot-angular-6-example-spring-data-jpa-rest-mysql-crud-example


angular test-driven development

https://www.pluralsight.com/guides/introduction-to-angular-test-driven-development


angular cli

http://web-front-end.tistory.com/64


angualr datatable

https://blog.angular-university.io/angular-material-data-table/

http://l-lin.github.io/angular-datatables/#/getting-started


angular sweetalert

https://www.npmjs.com/package/ng2-sweetalert2


java xml parser

http://lee-mandu.tistory.com/377


websocket 

http://blog.naver.com/PostView.nhn?blogId=moonv11&logNo=220658500567&parentCategoryNo=&categoryNo=15&viewDate=&isShowPopularPosts=true&from=search


querydsl

https://lng1982.tistory.com/285

http://adrenal.tistory.com/25


jpa 

https://jojoldu.tistory.com/165


spring tdd

http://thswave.github.io/java/2015/03/02/spring-mvc-test.html





반응형
반응형


제너레이터시 필요 옵션

https://angular.io/cli/generate에 보면 알수 있다.

ng g c pages/home -t -s --spec=false --flat

CREATE src/app/pages/home.component.ts (250 bytes) 


테스트 코드 생성 안함 옵션 : --spec=false

인라인템플릿으로 생성 : -t 

인라인스타일으로 생성 : -s

해당 콤포넌트 명으로 폴더를 맹글지 않고 해당 폴더에 바로 생성 : --flat


별명 있는놈들은 다 중요해보이지만. 실제 자주 사용할려면 필수로 전부 알아야 될것같다.


반응형
반응형

Error: Unexpected value 'CodeTypeComponent' declared by the module 'AppModule'. Please add a @Pipe/@Directive/@Component annotation


콤포넌트 내에서 다른 클래스 선언시 @Component 아래에다 클래스 선언시 오류난다.

@Component 정의 이전에 필요 클래스를 선언해야된다.



class Person {

  id: number;

  firstName: string;

  lastName: string;

}

@Component({

  selector: 'app-code-type',

  templateUrl: './code-type.component.html',

  styleUrls: ['./code-type.component.css']

})



위에 Person 클래스를 저렇게 @Component 위에 정의를 해야 동작된다.


반응형
반응형

ng build 나 serve 하면

기존 outDir 경로에 무언가를 하는것 같다. 

해당 폴더를 강제로 삭제해도 지워지지도 않고 

 operation not permitted 메세지만 줄기차게 나온다.

이것저것 해봤으나 안된다.

컴퓨터 재부팅후 폴더 삭제가 가능 했다.


EPERM: operation not permitted, lstat 'D:\workspace\sts\ar-cms-client\dist\assets\images\flags\16'

Error: EPERM: operation not permitted, lstat 'D:\workspace\sts\ar-cms-client\dist\assets\images\flags\16'

    at Object.fs.lstatSync (fs.js:961:11)

    at Object.lstatSync (D:\workspace\sts\ar-cms-client\node_modules\graceful-fs\polyfills.js:297:22)

    at rimrafSync (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:237:18)

    at options.readdirSync.forEach.f (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:291:39)

    at Array.forEach (<anonymous>)

    at rmkidsSync (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:291:26)

    at rmdirSync (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:281:7)

    at fixWinEPERMSync (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:167:5)

    at rimrafSync (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:260:26)

    at options.readdirSync.forEach.f (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:291:39)

    at Array.forEach (<anonymous>)

    at rmkidsSync (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:291:26)

    at rmdirSync (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:281:7)

    at fixWinEPERMSync (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:167:5)

    at rimrafSync (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:260:26)

    at options.readdirSync.forEach.f (D:\workspace\sts\ar-cms-client\node_modules\fs-extra\lib\remove\rimraf.js:291:39)

반응형
반응형

테스트코드 Junit 실행시 예외다.

말그대로 쿼리 실행할수 없는 문장이라고 한다.

아래 regist_dt 가 Not null 인데 널값을 Insert 할려고 하니 오류다.

값을 채워서 실행 했다.


javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement

at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:149)

at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:157)

at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:164)

at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1443)

at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1423)

at org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager.flush(TestEntityManager.java:172)

at org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager.persistAndFlush(TestEntityManager.java:132)

at org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager.persistFlushFind(TestEntityManager.java:112)

at com.jejunet.ar.repositories.CodeTypeRepositoryTest.getCodeType_returnCodeTypeDetails(CodeTypeRepositoryTest.java:31)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)

at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:73)

at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:83)

at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)

at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)

at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)

at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)

at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)

at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)

at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)

at org.junit.runners.ParentRunner.run(ParentRunner.java:363)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)

at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)

Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement

at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:59)

at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)

at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111)

at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97)

at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:178)

at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3032)

at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3547)

at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:89)

at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:600)

at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:474)

at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:337)

at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)

at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1437)

... 36 more

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'regist_dt' cannot be null

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)

at com.mysql.jdbc.Util.getInstance(Util.java:408)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)

at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)

at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2013)

at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5104)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1998)

at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)

at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)

at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175)

... 44 more



반응형
반응형


spring boot DataJpaTest 중 아래와 같은 오류 남.

테스트 DB 설정정보를 찾는것 같다.


@AutoConfigureTestDatabase(replace = Replace.NONE)

요렇게 어노테이션을 설정해주면 테스트 DB 별도로 안하겠다는 뜻인거 같다.

-------------------------------------------------------------------------------------------------------------------------------

java.lang.IllegalStateException: Failed to load ApplicationContext

at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125)

at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)

at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:117)

at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)

at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:44)

at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)

at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)

at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)

at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)

at org.junit.runners.ParentRunner.run(ParentRunner.java:363)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)

at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Failed to replace DataSource with an embedded database for tests. If you want an embedded database please put a supported one on the classpath or tune the replace attribute of @AutoConfigureTestDatabase.

at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:729)

at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1274)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1131)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:541)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:501)

at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)

at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:368)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1254)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1103)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:541)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:501)

at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)

at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1089)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:859)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)

at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759)

at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395)

at org.springframework.boot.SpringApplication.run(SpringApplication.java:327)

at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:139)

at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)

at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117)

... 26 more

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Failed to replace DataSource with an embedded database for tests. If you want an embedded database please put a supported one on the classpath or tune the replace attribute of @AutoConfigureTestDatabase.

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1706)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:579)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:501)

at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)

at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065)

at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:815)

at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:721)

... 53 more

Caused by: java.lang.IllegalStateException: Failed to replace DataSource with an embedded database for tests. If you want an embedded database please put a supported one on the classpath or tune the replace attribute of @AutoConfigureTestDatabase.

at org.springframework.util.Assert.state(Assert.java:73)

at org.springframework.boot.test.autoconfigure.jdbc.TestDatabaseAutoConfiguration$EmbeddedDataSourceFactory.getEmbeddedDatabase(TestDatabaseAutoConfiguration.java:195)

at org.springframework.boot.test.autoconfigure.jdbc.TestDatabaseAutoConfiguration$EmbeddedDataSourceFactoryBean.afterPropertiesSet(TestDatabaseAutoConfiguration.java:160)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1765)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1702)

... 64 more



반응형
반응형

spring boot로 테스트 실행시 아래와 같이 예와가 난다.

----------------------------------------------------------------------------------------------------------------------------

java.lang.Exception: No runnable methods

at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191)

at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128)

at org.junit.runners.ParentRunner.validate(ParentRunner.java:416)

at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84)

at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:137)

at org.springframework.test.context.junit4.SpringRunner.<init>(SpringRunner.java:49)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)

at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)

at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)

at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)

at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)

at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:87)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:73)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:46)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:522)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)

----------------------------------------------------------------------------------------------------------------------------

구글링으 해보니 원인을 잘 찾을수가 없었다.

그럴만도 하다 하도 당연한 이유에서 였다.

테스트 클래스 내에 

테스트 메소드에 @Test 메소드를 안붙혀서 실행할깨 없어서나오는 예외였다.

나처럼 테스트 메소드엔 @Test 어노테이션 안붙히는 분들도 있을까 싶다.


테스트 코드 집중해서 퍼블릭 보이드 머시기로 쫙 만들고 junit 돌리면 저래 날수도 있다. 

@Test 붙히면 된다.


반응형
반응형

error executing ddl via jdbc statement 

spring boot + jpa  환경에서


jpa 설정중 ddl-auto을 아래와 같이 업데이트로 해놨을시에

spring.jpa.hibernate.ddl-auto = update


엔터티에서 변동이 일어나면 자동으로 ddl 명령을 실행해 테이블을 변경하겠금 설정했을시에

컬럼이 추가 되거나 컬럼속성이 변경되면 실행된다.


엔터티 설정중 @Column 어노테이션을 이용해서 컬럼 타입이나 기타 정보를 입력하지 않은 상태에서 실행하면

alert table 문장이 문법에 맞지 않은게 생성이 되서 오류가 났다.


spring.jpa.hibernate.ddl-auto 설정을 create로 변경후 

엔터티에 @Column 어노테이션으로 상세하게 정보를 기입후 

다시 spring.jpa.hibernate.ddl-auto 설정을 update로 변경하여 처리 하였다.

반응형

+ Recent posts