본래 SpringToolSuite4.app은 994.5MB

.zip은 769.7

.jar는 760.6

 

cmd+I로 본 건 아니지만. 걍 zip 이 편함. tar 쓰는 사람은 jar 도 옵션이 같아서 뭐.... 암튼.. 편한데루.

'Swift & Python 실무' 카테고리의 다른 글

ubuntu 20.04에 배포  (0) 2022.04.05
자바 8 과 자바 11  (0) 2022.04.04
eclipse configuration file location  (0) 2022.04.04
네트워크 문제 로그  (0) 2022.04.04
org.apache.catalina.core.StandardWrapperValve invoke  (0) 2022.04.04

을 찾고 있다. 스프링 툴도 이클립스니까느.

https://crunchify.com/ideal-eclipse-ini-file-setup-for-your-eclipse-environment-best-practice-for-macos-and-windows/#:~:text=Go%20to%20folder%20%2FContents%2FEclipse,ini%20file

 

Ideal eclipse.ini file setup for your Eclipse Environment - Best Practice for MacOS and Windows • Crunchify

As a Java Developer, we spend almost half of our time developing world class Java Applications. Your application might be touching thousands of users and

crunchify.com

find ./ -type f -iname "*.ini"                    ─(월, 404)─

.//Eclipse/SpringToolSuite4.ini

.//Eclipse/configuration/config.ini

.//Eclipse/plugins/org.eclipse.platform_4.23.0.v20220308-0310/plugin_customization.ini

.//Eclipse/plugins/org.eclipse.platform_4.23.0.v20220308-0310/about.ini

.//Eclipse/plugins/org.springframework.boot.ide.branding_4.14.0.202203131612-RELEASE/plugin_customization.ini

.//Eclipse/plugins/org.springframework.boot.ide.branding_4.14.0.202203131612-RELEASE/about.ini

.//Eclipse/features/org.eclipse.tm.terminal.connector.local.feature_10.6.0.202201122357/about.ini

.//Eclipse/features/org.eclipse.tm.terminal.connector.telnet.feature_10.6.0.202201122357/about.ini

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

Last login: Mon Apr  4 08:13:46 on console

┌─(~)─────────────────────────────────────────(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:14:10)──> cd /Applications/SpringToolSuite4.app             ─(월, 404)─

┌─(/Applications/SpringToolSuite4.app)────────(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:15:29)──> ls                                                ─(월, 404)─

Contents

┌─(/Applications/SpringToolSuite4.app)────────(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:15:30)──> cd Contents                                       ─(월, 404)─

┌─(...ations/SpringToolSuite4.app/Contents)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:15:32)──> ls                                                ─(월, 404)─

Eclipse        META-INF       Resources

Info.plist     MacOS          _CodeSignature

┌─(...ations/SpringToolSuite4.app/Contents)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:15:32)──> cd Eclipse                                        ─(월, 404)─

┌─(...pringToolSuite4.app/Contents/Eclipse)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:15:35)──> ls                                                ─(월, 404)─

META-INF                 epl-v10.html             p2

SpringToolSuite4.ini     features                 plugins

artifacts.xml            license.txt              readme

configuration            notice.html

dropins                  open-source-licenses.txt

┌─(...pringToolSuite4.app/Contents/Eclipse)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:15:35)──> cd configuration                                  ─(월, 404)─

┌─(...4.app/Contents/Eclipse/configuration)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:15:39)──> ls                                                ─(월, 404)─

config.ini                             org.eclipse.equinox.simpleconfigurator

org.eclipse.core.runtime               org.eclipse.equinox.source

org.eclipse.e4.ui.css.swt.theme        org.eclipse.osgi

org.eclipse.equinox.app                org.eclipse.update

┌─(...4.app/Contents/Eclipse/configuration)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:15:40)──> poen .                                            ─(월, 404)─

zsh: command not found: poen

┌─(...4.app/Contents/Eclipse/configuration)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:15:42)──> open .                                      127 ↵ ─(월, 404)─

┌─(...4.app/Contents/Eclipse/configuration)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:15:44)──> find ./ -type f -iname "*.lock"                   ─(월, 404)─

┌─(...4.app/Contents/Eclipse/configuration)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:17:12)──> cd ..                                             ─(월, 404)─

┌─(...pringToolSuite4.app/Contents/Eclipse)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:17:14)──> cd ..                                             ─(월, 404)─

┌─(...ations/SpringToolSuite4.app/Contents)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:17:15)──> find ./ -type f -iname "*.lock"                   ─(월, 404)─

.//Eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/DefaultProfile.profile/.lock

.//Eclipse/plugins/org.eclipse.wildwebdeveloper_0.5.20.202202041634/node_modules/lodash/flake.lock

┌─(...ations/SpringToolSuite4.app/Contents)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:17:16)──> find ./ -type f -iname "*.lock" -exec rm -rf {} \;

┌─(...ations/SpringToolSuite4.app/Contents)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:17:28)──> find ./ -type d -iname "*.metadata"               ─(월, 404)─

┌─(...ations/SpringToolSuite4.app/Contents)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:17:50)──> codesign --force --deep --sign - /Applications/SpringToolSuite4.app

/Applications/SpringToolSuite4.app: replacing existing signature

┌─(...ations/SpringToolSuite4.app/Contents)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(08:18:47)──> ls                                                ─(월, 404)─

Eclipse        META-INF       Resources

Info.plist     MacOS          _CodeSignature

┌─(...ations/SpringToolSuite4.app/Contents)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(09:23:39)──> find ./ -type f -iname "*.ini"                    ─(월, 404)─

.//Eclipse/SpringToolSuite4.ini

.//Eclipse/configuration/config.ini

.//Eclipse/plugins/org.eclipse.platform_4.23.0.v20220308-0310/plugin_customization.ini

.//Eclipse/plugins/org.eclipse.platform_4.23.0.v20220308-0310/about.ini

.//Eclipse/plugins/org.springframework.boot.ide.branding_4.14.0.202203131612-RELEASE/plugin_customization.ini

.//Eclipse/plugins/org.springframework.boot.ide.branding_4.14.0.202203131612-RELEASE/about.ini

.//Eclipse/features/org.eclipse.tm.terminal.connector.local.feature_10.6.0.202201122357/about.ini

.//Eclipse/features/org.eclipse.tm.terminal.connector.telnet.feature_10.6.0.202201122357/about.ini

┌─(...ations/SpringToolSuite4.app/Contents)───(junhoha@Junhoui-iMac-Pro:s000)─┐

─(09:23:50)──> vim Eclipse/SpringToolSuite4.ini                  ─(월, 404)─

 

 

 E/SpringToolSuite4.ini                                                         

 -product

 org.springframework.boot.ide.branding.sts4

 --launcher.defaultAction

 openFile

 -vm

 ../Eclipse/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.macosx.x86_64_17. 0.2.v20220201-1208/jre/lib/libjli.dylib

 -vmargs

 --add-opens=java.base/java.io=ALL-UNNAMED

 --add-opens=java.base/sun.nio.ch=ALL-UNNAMED

 --add-opens=java.base/java.net=ALL-UNNAMED

 --add-opens=java.base/sun.security.ssl=ALL-UNNAMED

 -Dosgi.requiredJavaVersion=11

 -Dosgi.dataAreaRequiresExplicitInit=true

 -Xms256m

 -Xmx2048m

 --illegal-access=permit

 --add-modules=ALL-SYSTEM

 -XstartOnFirstThread

 -Dorg.eclipse.swt.internal.carbon.smallFonts

 -Xdock:icon=../Resources/sts4.icns

 

이름은 다른데 평소 보던 ecilpse.ini랑 비슷하네.

 

E/c/config.ini                                                                 

 #This configuration file was written by: org.eclipse.equinox.internal.          frameworkadmin.equinox.EquinoxFwConfigFileParser

 #Fri Apr 01 10:09:58 KST 2022

 eclipse.product=org.springframework.boot.ide.branding.sts4

 osgi.splashPath=platform\:/base/plugins/org.springframework.boot.ide.branding

 org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.     simpleconfigurator/bundles.info

 osgi.bundles.defaultStartLevel=4

 eclipse.application=org.eclipse.ui.ide.workbench

 osgi.instance.area.default=@user.home/Documents/workspace-spring-tool-suite-4-  4.14.0.RELEASE

 osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.4.0.     v20210315-2228.jar@1\:start

 eclipse.p2.data.area=@config.dir/../p2/

 eclipse.p2.profile=DefaultProfile

 osgi.framework=file\:plugins/org.eclipse.osgi_3.17.200.v20220215-2237.jar

 osgi.framework.extensions=reference\:file\:org.eclipse.osgi.compatibility.      state_1.2.600.v20220207-1403.jar

 eclipse.buildId=4.14.0.202203131612

 

오히려 이름 같은 건 좀 이상.

 

 find ./ -type f -iname "*.ini"                    ─(월, 404)─

.//Eclipse/SpringToolSuite4.ini

.//Eclipse/configuration/config.ini

.//Eclipse/plugins/org.eclipse.platform_4.23.0.v20220308-0310/plugin_customization.ini

.//Eclipse/plugins/org.eclipse.platform_4.23.0.v20220308-0310/about.ini

.//Eclipse/plugins/org.springframework.boot.ide.branding_4.14.0.202203131612-RELEASE/plugin_customization.ini

.//Eclipse/plugins/org.springframework.boot.ide.branding_4.14.0.202203131612-RELEASE/about.ini

.//Eclipse/features/org.eclipse.tm.terminal.connector.local.feature_10.6.0.202201122357/about.ini

.//Eclipse/features/org.eclipse.tm.terminal.connector.telnet.feature_10.6.0.202201122357/about.ini

 

 

믓튼 통 백업! 후 시간날 때 소스보기.

 

 

 

정보: 서버 엔진을 시작합니다: [Apache Tomcat/9.0.55]

4월 04, 2022 9:00:47 오전 org.apache.jasper.servlet.TldScanner scanJars

정보: 적어도 하나의 JAR가 TLD들을 찾기 위해 스캔되었으나 아무 것도 찾지 못했습니다. 스캔했으나 TLD가 없는 JAR들의 전체 목록을 보시려면, 로그 레벨을 디버그 레벨로 설정하십시오. 스캔 과정에서 불필요한 JAR들을 건너뛰면, 시스템 시작 시간과 JSP 컴파일 시간을 단축시킬 수 있습니다.

4월 04, 2022 9:00:47 오전 org.apache.catalina.core.ApplicationContext log

정보: No Spring WebApplicationInitializer types detected on classpath

4월 04, 2022 9:00:47 오전 org.apache.catalina.core.StandardContext listenerStart

심각: 클래스 [dmf.framework.context.DmfServletContextListener]의 애플리케이션 리스너를 설정하는 중 오류 발생

java.lang.UnsupportedClassVersionError: dmf/framework/context/DmfServletContextListener has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (클래스 [dmf.framework.context.DmfServletContextListener]을(를) 로드할 수 없습니다)

at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2483)

at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215)

at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:538)

at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:519)

at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:149)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4691)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)

at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.startup.Catalina.start(Catalina.java:772)

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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)

 

4월 04, 2022 9:00:47 오전 org.apache.catalina.core.StandardContext listenerStart

심각: 클래스 [dnp.framework.web.servlet.session.SessionListener]의 애플리케이션 리스너를 설정하는 중 오류 발생

java.lang.UnsupportedClassVersionError: dnp/framework/web/servlet/session/SessionListener has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (클래스 [dnp.framework.web.servlet.session.SessionListener]을(를) 로드할 수 없습니다)

at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2483)

at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215)

at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:538)

at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:519)

at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:149)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4691)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)

at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.startup.Catalina.start(Catalina.java:772)

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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)

 

4월 04, 2022 9:00:47 오전 org.apache.catalina.core.StandardContext listenerStart

심각: 이전 오류(들)로 인하여, 애플리케이션 리스너들을 설치하는 것을 건너뛰었습니다.

4월 04, 2022 9:00:47 오전 org.apache.catalina.core.StandardContext startInternal

심각: 하나 이상의 리스너들이 시작하지 못했습니다. 상세 내역은 적절한 컨테이너 로그 파일에서 찾을 수 있습니다.

4월 04, 2022 9:00:47 오전 org.apache.catalina.core.StandardContext startInternal

심각: 이전 오류들로 인해 컨텍스트 []의 시작이 실패했습니다.

4월 04, 2022 9:00:47 오전 org.apache.coyote.AbstractProtocol start

정보: 프로토콜 핸들러 ["http-nio-9090"]을(를) 시작합니다.

4월 04, 2022 9:00:47 오전 org.apache.catalina.startup.Catalina start

정보: 서버가 [4874] 밀리초 내에 시작되었습니다.

 

org.apache.catalina.core.StandardWrapperValve invoke

심각: 경로 []의 컨텍스트 내의 서블릿 [AdminAppCenter]을(를) 위한 Servlet.service() 호출이, 근본 원인(root cause)과 함께, 예외 [Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLTransientConnectionException: dnpPool - Connection is not available, request timed out after 30000ms.]을(를) 발생시켰습니다.

java.net.SocketException: Network is unreachable

at sun.nio.ch.Net.connect0(Native Method)

at sun.nio.ch.Net.connect(Net.java:454)

at sun.nio.ch.Net.connect(Net.java:446)

at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:645)

at java.nio.channels.SocketChannel.open(SocketChannel.java:189)

at oracle.net.nt.TimeoutSocketChannel.<init>(TimeoutSocketChannel.java:81)

at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:169)

at oracle.net.nt.ConnOption.connect(ConnOption.java:161)

at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:470)

at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:521)

at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:660)

at oracle.net.ns.NSProtocol.connect(NSProtocol.java:286)

at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1438)

at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:518)

at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688)

at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:39)

at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691)

at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)

at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:354)

at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202)

at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473)

at com.zaxxer.hikari.pool.HikariPool.access$100(HikariPool.java:71)

at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:719)

at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:705)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

 

 

결론 오라클 JDBC가 끊기면 세션 끊겨서 튕김. 끗.

 

심각: 경로 []의 컨텍스트 내의 서블릿 [AdminAppCenter]을(를) 위한 Servlet.service() 호출이, 근본 원인(root cause)과 함께, 예외 [Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLRecoverableException: IO 오류: The Network Adapter could not establish the connection]을(를) 발생시켰습니다.

java.net.SocketException: Network is unreachable

at sun.nio.ch.Net.connect0(Native Method)

at sun.nio.ch.Net.connect(Net.java:454)

at sun.nio.ch.Net.connect(Net.java:446)

at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:645)

at java.nio.channels.SocketChannel.open(SocketChannel.java:189)

at oracle.net.nt.TimeoutSocketChannel.<init>(TimeoutSocketChannel.java:81)

at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:169)

at oracle.net.nt.ConnOption.connect(ConnOption.java:161)

at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:470)

at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:521)

at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:660)

at oracle.net.ns.NSProtocol.connect(NSProtocol.java:286)

at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1438)

at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:518)

at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688)

at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:39)

at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691)

at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)

at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:354)

at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202)

at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473)

at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:554)

at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)

at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)

at net.sf.log4jdbc.sql.jdbcapi.DataSourceSpy.getConnection(DataSourceSpy.java:149)

at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:204)

at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)

at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:439)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)

at dnp.framework.i18n.MessageFrameworkService$$EnhancerBySpringCGLIB$$1951af38.setCdLnge(<generated>)

at dnp.framework.web.servlet.session.DnpSessionInterceptor.preHandle(DnpSessionInterceptor.java:152)

at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:130)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at dnp.framework.mobile.MobileFilter.doFilter(MobileFilter.java:118)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at dnp.framework.web.servlet.filter.CorsServiceFilter.doFilter(CorsServiceFilter.java:71)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at dnp.framework.web.servlet.filter.DnpCommonFilter.doFilter(DnpCommonFilter.java:188)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at dnp.framework.web.servlet.filter.DnpCorsFilter.handleSimpleCORS(DnpCorsFilter.java:230)

at dnp.framework.web.servlet.filter.DnpCorsFilter.doFilter(DnpCorsFilter.java:135)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)

at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:748)

 

rg.apache.catalina.core.StandardWrapperValve invoke

심각: 경로 []의 컨텍스트 내의 서블릿 [AdminAppCenter]을(를) 위한 Servlet.service() 호출이, 근본 원인(root cause)과 함께, 예외 [Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: 로케일을 인식할 수 없습니다.]을(를) 발생시켰습니다.

java.sql.SQLException: 로케일을 인식할 수 없습니다.

at oracle.jdbc.driver.T4CTTIoauthenticate.setSessionFields(T4CTTIoauthenticate.java:1493)

at oracle.jdbc.driver.T4CTTIoauthenticate.<init>(T4CTTIoauthenticate.java:291)

at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:599)

at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688)

at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:39)

at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691)

at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)

at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:354)

at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202)

at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473)

at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:554)

at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)

at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)

at net.sf.log4jdbc.sql.jdbcapi.DataSourceSpy.getConnection(DataSourceSpy.java:149)

at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:204)

at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)

at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:439)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)

at dnp.framework.i18n.MessageFrameworkService$$EnhancerBySpringCGLIB$$1951af38.setCdLnge(<generated>)

at dnp.framework.web.servlet.session.DnpSessionInterceptor.preHandle(DnpSessionInterceptor.java:152)

at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:130)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at dnp.framework.mobile.MobileFilter.doFilter(MobileFilter.java:118)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at dnp.framework.web.servlet.filter.CorsServiceFilter.doFilter(CorsServiceFilter.java:71)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at dnp.framework.web.servlet.filter.DnpCommonFilter.doFilter(DnpCommonFilter.java:188)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at dnp.framework.web.servlet.filter.DnpCorsFilter.handleSimpleCORS(DnpCorsFilter.java:230)

at dnp.framework.web.servlet.filter.DnpCorsFilter.doFilter(DnpCorsFilter.java:135)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)

at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:748)

 

로케일 설정 문제

맥 업데이트 후 발생 --> 로케일을 미국으로 했다가 다시 한국으로 하니 정상 동작.

eclipse run configuration option +

 

-Djava.net.preferIPv4Stack=True

 

 

codesign --force --deep --sign - /Applications/SpringToolSuite4.app

LOCK 파일은 개뿔 ㅡㅡ;

 

Non-resolvable parent POM for org.springframework.boot:spring-boot-starter-parent:2.3.4.RELEASE: org.springframework.boot:spring-boot-

 dependencies:pom:2.3.4.RELEASE failed to transfer from https://repo.maven.apache.org/maven2 during a previous attempt. This failure was cached 

 in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced. Original error: Could 

 not transfer artifact org.springframework.boot:spring-boot-dependencies:pom:2.3.4.RELEASE from/to central (https://repo.maven.apache.org/

 maven2): The operation was cancelled.

 

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

첫번째 프로젝트 

===========================

 

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

 

두번 째 프로젝트...

 

동일한데 하나는 잘 되고 하나는 안 된다. 헐..

 

 

oraclepki.jar (No such file or directory)

 

https://hanhyx.tistory.com/43

 

SpringBoot Maven Oracle JDBC 연동 시 repository의 지정된 경로를 못 찾을 때 Local에서 Maven 빌드 하는 방법

ERROR 상황 지난 프로젝트를 실행시켜보면, DB연동은 성공했지만 Console log에서 java.io.FileNotFoundException 오류가 보이는 것을 볼 수 있습니다. m2/repository/com/oracle/database/security/oraclepki/ora..

hanhyx.tistory.com

 

망할 오라클.

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <modelVersion>4.0.0</modelVersion>

  <groupId>org.springframework.boot</groupId>

  <artifactId>spring-boot-dependencies</artifactId>

  <version>2.6.5</version>

  <packaging>pom</packaging>

  <name>spring-boot-dependencies</name>

  <description>Spring Boot Dependencies</description>

  <url>https://spring.io/projects/spring-boot</url>

  <licenses>

    <license>

      <name>Apache License, Version 2.0</name>

      <url>https://www.apache.org/licenses/LICENSE-2.0</url>

    </license>

  </licenses>

  <developers>

    <developer>

      <name>Pivotal</name>

      <email>info@pivotal.io</email>

      <organization>Pivotal Software, Inc.</organization>

      <organizationUrl>https://www.spring.io</organizationUrl>

    </developer>

  </developers>

  <scm>

    <url>https://github.com/spring-projects/spring-boot</url>

  </scm>

  <properties>

    <activemq.version>5.16.4</activemq.version>

    <antlr2.version>2.7.7</antlr2.version>

    <appengine-sdk.version>1.9.95</appengine-sdk.version>

    <artemis.version>2.19.1</artemis.version>

    <aspectj.version>1.9.7</aspectj.version>

    <assertj.version>3.21.0</assertj.version>

    <atomikos.version>4.0.6</atomikos.version>

    <awaitility.version>4.1.1</awaitility.version>

    <build-helper-maven-plugin.version>3.2.0</build-helper-maven-plugin.version>

    <byte-buddy.version>1.11.22</byte-buddy.version>

    <caffeine.version>2.9.3</caffeine.version>

    <cassandra-driver.version>4.13.0</cassandra-driver.version>

    <classmate.version>1.5.1</classmate.version>

    <commons-codec.version>1.15</commons-codec.version>

    <commons-dbcp2.version>2.9.0</commons-dbcp2.version>

    <commons-lang3.version>3.12.0</commons-lang3.version>

    <commons-pool.version>1.6</commons-pool.version>

    <commons-pool2.version>2.11.1</commons-pool2.version>

    <couchbase-client.version>3.2.6</couchbase-client.version>

    <db2-jdbc.version>11.5.7.0</db2-jdbc.version>

    <dependency-management-plugin.version>1.0.11.RELEASE</dependency-management-plugin.version>

    <derby.version>10.14.2.0</derby.version>

    <dropwizard-metrics.version>4.2.9</dropwizard-metrics.version>

    <ehcache.version>2.10.9.2</ehcache.version>

    <ehcache3.version>3.9.9</ehcache3.version>

    <elasticsearch.version>7.15.2</elasticsearch.version>

    <embedded-mongo.version>3.0.0</embedded-mongo.version>

    <flyway.version>8.0.5</flyway.version>

    <freemarker.version>2.3.31</freemarker.version>

    <git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version>

    <glassfish-el.version>3.0.4</glassfish-el.version>

    <glassfish-jaxb.version>2.3.6</glassfish-jaxb.version>

    <glassfish-jstl.version>1.2.6</glassfish-jstl.version>

    <groovy.version>3.0.10</groovy.version>

    <gson.version>2.8.9</gson.version>

    <h2.version>1.4.200</h2.version>

    <hamcrest.version>2.2</hamcrest.version>

    <hazelcast.version>4.2.4</hazelcast.version>

    <hazelcast-hibernate5.version>2.2.1</hazelcast-hibernate5.version>

    <hibernate.version>5.6.7.Final</hibernate.version>

    <hibernate-validator.version>6.2.3.Final</hibernate-validator.version>

    <hikaricp.version>4.0.3</hikaricp.version>

    <hsqldb.version>2.5.2</hsqldb.version>

    <htmlunit.version>2.54.0</htmlunit.version>

    <httpasyncclient.version>4.1.5</httpasyncclient.version>

    <httpclient.version>4.5.13</httpclient.version>

    <httpclient5.version>5.1.3</httpclient5.version>

    <httpcore.version>4.4.15</httpcore.version>

    <httpcore5.version>5.1.3</httpcore5.version>

    <infinispan.version>12.1.11.Final</infinispan.version>

    <influxdb-java.version>2.22</influxdb-java.version>

    <jackson-bom.version>2.13.2</jackson-bom.version>

    <jakarta-activation.version>1.2.2</jakarta-activation.version>

    <jakarta-annotation.version>1.3.5</jakarta-annotation.version>

    <jakarta-jms.version>2.0.3</jakarta-jms.version>

    <jakarta-json.version>1.1.6</jakarta-json.version>

    <jakarta-json-bind.version>1.0.2</jakarta-json-bind.version>

    <jakarta-mail.version>1.6.7</jakarta-mail.version>

    <jakarta-management.version>1.1.4</jakarta-management.version>

    <jakarta-persistence.version>2.2.3</jakarta-persistence.version>

    <jakarta-servlet.version>4.0.4</jakarta-servlet.version>

    <jakarta-servlet-jsp-jstl.version>1.2.7</jakarta-servlet-jsp-jstl.version>

    <jakarta-transaction.version>1.3.3</jakarta-transaction.version>

    <jakarta-validation.version>2.0.2</jakarta-validation.version>

    <jakarta-websocket.version>1.1.2</jakarta-websocket.version>

    <jakarta-ws-rs.version>2.1.6</jakarta-ws-rs.version>

    <jakarta-xml-bind.version>2.3.3</jakarta-xml-bind.version>

    <jakarta-xml-soap.version>1.4.2</jakarta-xml-soap.version>

    <jakarta-xml-ws.version>2.3.3</jakarta-xml-ws.version>

    <janino.version>3.1.6</janino.version>

    <javax-activation.version>1.2.0</javax-activation.version>

    <javax-annotation.version>1.3.2</javax-annotation.version>

    <javax-cache.version>1.1.1</javax-cache.version>

    <javax-jaxb.version>2.3.1</javax-jaxb.version>

    <javax-jaxws.version>2.3.1</javax-jaxws.version>

    <javax-jms.version>2.0.1</javax-jms.version>

    <javax-json.version>1.1.4</javax-json.version>

    <javax-jsonb.version>1.0</javax-jsonb.version>

    <javax-mail.version>1.6.2</javax-mail.version>

    <javax-money.version>1.1</javax-money.version>

    <javax-persistence.version>2.2</javax-persistence.version>

    <javax-transaction.version>1.3</javax-transaction.version>

    <javax-validation.version>2.0.1.Final</javax-validation.version>

    <javax-websocket.version>1.1</javax-websocket.version>

    <jaxen.version>1.2.0</jaxen.version>

    <jaybird.version>4.0.5.java8</jaybird.version>

    <jboss-logging.version>3.4.3.Final</jboss-logging.version>

    <jdom2.version>2.0.6.1</jdom2.version>

    <jedis.version>3.7.1</jedis.version>

    <jersey.version>2.35</jersey.version>

    <jetty-el.version>9.0.52</jetty-el.version>

    <jetty-jsp.version>2.2.0.v201112011158</jetty-jsp.version>

    <jetty-reactive-httpclient.version>1.1.11</jetty-reactive-httpclient.version>

    <jetty.version>9.4.45.v20220203</jetty.version>

    <jmustache.version>1.15</jmustache.version>

    <johnzon.version>1.2.16</johnzon.version>

    <jolokia.version>1.7.1</jolokia.version>

    <jooq.version>3.14.15</jooq.version>

    <json-path.version>2.6.0</json-path.version>

    <json-smart.version>2.4.8</json-smart.version>

    <jsonassert.version>1.5.0</jsonassert.version>

    <jstl.version>1.2</jstl.version>

    <jtds.version>1.3.1</jtds.version>

    <junit.version>4.13.2</junit.version>

    <junit-jupiter.version>5.8.2</junit-jupiter.version>

    <kafka.version>3.0.1</kafka.version>

    <kotlin.version>1.6.10</kotlin.version>

    <kotlin-coroutines.version>1.5.2</kotlin-coroutines.version>

    <lettuce.version>6.1.8.RELEASE</lettuce.version>

    <liquibase.version>4.5.0</liquibase.version>

    <log4j2.version>2.17.2</log4j2.version>

    <logback.version>1.2.11</logback.version>

    <lombok.version>1.18.22</lombok.version>

    <mariadb.version>2.7.5</mariadb.version>

    <maven-antrun-plugin.version>3.0.0</maven-antrun-plugin.version>

    <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>

    <maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>

    <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>

    <maven-dependency-plugin.version>3.2.0</maven-dependency-plugin.version>

    <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>

    <maven-enforcer-plugin.version>3.0.0</maven-enforcer-plugin.version>

    <maven-failsafe-plugin.version>2.22.2</maven-failsafe-plugin.version>

    <maven-help-plugin.version>3.2.0</maven-help-plugin.version>

    <maven-install-plugin.version>2.5.2</maven-install-plugin.version>

    <maven-invoker-plugin.version>3.2.2</maven-invoker-plugin.version>

    <maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>

    <maven-javadoc-plugin.version>3.3.2</maven-javadoc-plugin.version>

    <maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>

    <maven-shade-plugin.version>3.2.4</maven-shade-plugin.version>

    <maven-source-plugin.version>3.2.1</maven-source-plugin.version>

    <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>

    <maven-war-plugin.version>3.3.2</maven-war-plugin.version>

    <micrometer.version>1.8.4</micrometer.version>

    <mimepull.version>1.9.15</mimepull.version>

    <mockito.version>4.0.0</mockito.version>

    <mongodb.version>4.4.2</mongodb.version>

    <mssql-jdbc.version>9.4.1.jre8</mssql-jdbc.version>

    <mysql.version>8.0.28</mysql.version>

    <nekohtml.version>1.9.22</nekohtml.version>

    <neo4j-java-driver.version>4.4.5</neo4j-java-driver.version>

    <netty.version>4.1.75.Final</netty.version>

    <netty-tcnative.version>2.0.51.Final</netty-tcnative.version>

    <okhttp3.version>3.14.9</okhttp3.version>

    <oracle-database.version>21.3.0.0</oracle-database.version>

    <pooled-jms.version>1.2.3</pooled-jms.version>

    <postgresql.version>42.3.3</postgresql.version>

    <prometheus-client.version>0.12.0</prometheus-client.version>

    <quartz.version>2.3.2</quartz.version>

    <querydsl.version>5.0.0</querydsl.version>

    <r2dbc-bom.version>Arabba-SR13</r2dbc-bom.version>

    <rabbit-amqp-client.version>5.13.1</rabbit-amqp-client.version>

    <rabbit-stream-client.version>0.4.0</rabbit-stream-client.version>

    <reactive-streams.version>1.0.3</reactive-streams.version>

    <reactor-bom.version>2020.0.17</reactor-bom.version>

    <rest-assured.version>4.4.0</rest-assured.version>

    <rsocket.version>1.1.1</rsocket.version>

    <rxjava.version>1.3.8</rxjava.version>

    <rxjava-adapter.version>1.2.1</rxjava-adapter.version>

    <rxjava2.version>2.2.21</rxjava2.version>

    <saaj-impl.version>1.5.3</saaj-impl.version>

    <selenium.version>3.141.59</selenium.version>

    <selenium-htmlunit.version>2.54.0</selenium-htmlunit.version>

    <sendgrid.version>4.7.6</sendgrid.version>

    <servlet-api.version>4.0.1</servlet-api.version>

    <slf4j.version>1.7.36</slf4j.version>

    <snakeyaml.version>1.29</snakeyaml.version>

    <solr.version>8.8.2</solr.version>

    <spring-amqp.version>2.4.3</spring-amqp.version>

    <spring-batch.version>4.3.5</spring-batch.version>

    <spring-data-bom.version>2021.1.3</spring-data-bom.version>

    <spring-framework.version>5.3.17</spring-framework.version>

    <spring-hateoas.version>1.4.1</spring-hateoas.version>

    <spring-integration.version>5.5.10</spring-integration.version>

    <spring-kafka.version>2.8.4</spring-kafka.version>

    <spring-ldap.version>2.3.6.RELEASE</spring-ldap.version>

    <spring-restdocs.version>2.0.6.RELEASE</spring-restdocs.version>

    <spring-retry.version>1.3.2</spring-retry.version>

    <spring-security.version>5.6.2</spring-security.version>

    <spring-session-bom.version>2021.1.2</spring-session-bom.version>

    <spring-ws.version>3.1.3</spring-ws.version>

    <sqlite-jdbc.version>3.36.0.3</sqlite-jdbc.version>

    <sun-mail.version>1.6.7</sun-mail.version>

    <thymeleaf.version>3.0.15.RELEASE</thymeleaf.version>

    <thymeleaf-extras-data-attribute.version>2.0.1</thymeleaf-extras-data-attribute.version>

    <thymeleaf-extras-java8time.version>3.0.4.RELEASE</thymeleaf-extras-java8time.version>

    <thymeleaf-extras-springsecurity.version>3.0.4.RELEASE</thymeleaf-extras-springsecurity.version>

    <thymeleaf-layout-dialect.version>3.0.0</thymeleaf-layout-dialect.version>

    <tomcat.version>9.0.60</tomcat.version>

    <unboundid-ldapsdk.version>4.0.14</unboundid-ldapsdk.version>

    <undertow.version>2.2.16.Final</undertow.version>

    <versions-maven-plugin.version>2.8.1</versions-maven-plugin.version>

    <webjars-locator-core.version>0.48</webjars-locator-core.version>

    <wsdl4j.version>1.6.3</wsdl4j.version>

    <xml-maven-plugin.version>1.0.2</xml-maven-plugin.version>

    <xmlunit2.version>2.8.4</xmlunit2.version>

  </properties>

  <dependencyManagement>

    <dependencies>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-amqp</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-blueprint</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-broker</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-camel</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-client</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-console</artifactId>

        <version>${activemq.version}</version>

        <exclusions>

          <exclusion>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-http</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-jaas</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-jdbc-store</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-jms-pool</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-kahadb-store</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-karaf</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-leveldb-store</artifactId>

        <version>${activemq.version}</version>

        <exclusions>

          <exclusion>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-log4j-appender</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-mqtt</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-openwire-generator</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-openwire-legacy</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-osgi</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-partition</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-pool</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-ra</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-run</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-runtime-config</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-shiro</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-spring</artifactId>

        <version>${activemq.version}</version>

        <exclusions>

          <exclusion>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-stomp</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>activemq-web</artifactId>

        <version>${activemq.version}</version>

      </dependency>

      <dependency>

        <groupId>antlr</groupId>

        <artifactId>antlr</artifactId>

        <version>${antlr2.version}</version>

      </dependency>

      <dependency>

        <groupId>com.google.appengine</groupId>

        <artifactId>appengine-api-1.0-sdk</artifactId>

        <version>${appengine-sdk.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>artemis-amqp-protocol</artifactId>

        <version>${artemis.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>artemis-commons</artifactId>

        <version>${artemis.version}</version>

        <exclusions>

          <exclusion>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>artemis-core-client</artifactId>

        <version>${artemis.version}</version>

        <exclusions>

          <exclusion>

            <groupId>org.apache.geronimo.specs</groupId>

            <artifactId>geronimo-json_1.0_spec</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>artemis-jms-client</artifactId>

        <version>${artemis.version}</version>

        <exclusions>

          <exclusion>

            <groupId>org.apache.geronimo.specs</groupId>

            <artifactId>geronimo-json_1.0_spec</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>artemis-jms-server</artifactId>

        <version>${artemis.version}</version>

        <exclusions>

          <exclusion>

            <groupId>org.apache.geronimo.specs</groupId>

            <artifactId>geronimo-json_1.0_spec</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>artemis-journal</artifactId>

        <version>${artemis.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>artemis-selector</artifactId>

        <version>${artemis.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>artemis-server</artifactId>

        <version>${artemis.version}</version>

        <exclusions>

          <exclusion>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

          </exclusion>

          <exclusion>

            <groupId>org.apache.geronimo.specs</groupId>

            <artifactId>geronimo-json_1.0_spec</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.activemq</groupId>

        <artifactId>artemis-service-extensions</artifactId>

        <version>${artemis.version}</version>

      </dependency>

      <dependency>

        <groupId>org.aspectj</groupId>

        <artifactId>aspectjrt</artifactId>

        <version>${aspectj.version}</version>

      </dependency>

      <dependency>

        <groupId>org.aspectj</groupId>

        <artifactId>aspectjtools</artifactId>

        <version>${aspectj.version}</version>

      </dependency>

      <dependency>

        <groupId>org.aspectj</groupId>

        <artifactId>aspectjweaver</artifactId>

        <version>${aspectj.version}</version>

      </dependency>

      <dependency>

        <groupId>org.assertj</groupId>

        <artifactId>assertj-core</artifactId>

        <version>${assertj.version}</version>

      </dependency>

      <dependency>

        <groupId>com.atomikos</groupId>

        <artifactId>transactions-jdbc</artifactId>

        <version>${atomikos.version}</version>

      </dependency>

      <dependency>

        <groupId>com.atomikos</groupId>

        <artifactId>transactions-jms</artifactId>

        <version>${atomikos.version}</version>

      </dependency>

      <dependency>

        <groupId>com.atomikos</groupId>

        <artifactId>transactions-jta</artifactId>

        <version>${atomikos.version}</version>

      </dependency>

      <dependency>

        <groupId>org.awaitility</groupId>

        <artifactId>awaitility</artifactId>

        <version>${awaitility.version}</version>

      </dependency>

      <dependency>

        <groupId>org.awaitility</groupId>

        <artifactId>awaitility-groovy</artifactId>

        <version>${awaitility.version}</version>

      </dependency>

      <dependency>

        <groupId>org.awaitility</groupId>

        <artifactId>awaitility-kotlin</artifactId>

        <version>${awaitility.version}</version>

      </dependency>

      <dependency>

        <groupId>org.awaitility</groupId>

        <artifactId>awaitility-scala</artifactId>

        <version>${awaitility.version}</version>

      </dependency>

      <dependency>

        <groupId>net.bytebuddy</groupId>

        <artifactId>byte-buddy</artifactId>

        <version>${byte-buddy.version}</version>

      </dependency>

      <dependency>

        <groupId>net.bytebuddy</groupId>

        <artifactId>byte-buddy-agent</artifactId>

        <version>${byte-buddy.version}</version>

      </dependency>

      <dependency>

        <groupId>com.github.ben-manes.caffeine</groupId>

        <artifactId>caffeine</artifactId>

        <version>${caffeine.version}</version>

      </dependency>

      <dependency>

        <groupId>com.github.ben-manes.caffeine</groupId>

        <artifactId>guava</artifactId>

        <version>${caffeine.version}</version>

      </dependency>

      <dependency>

        <groupId>com.github.ben-manes.caffeine</groupId>

        <artifactId>jcache</artifactId>

        <version>${caffeine.version}</version>

      </dependency>

      <dependency>

        <groupId>com.github.ben-manes.caffeine</groupId>

        <artifactId>simulator</artifactId>

        <version>${caffeine.version}</version>

      </dependency>

      <dependency>

        <groupId>com.datastax.oss</groupId>

        <artifactId>java-driver-core</artifactId>

        <version>${cassandra-driver.version}</version>

        <exclusions>

          <exclusion>

            <groupId>org.slf4j</groupId>

            <artifactId>jcl-over-slf4j</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>com.fasterxml</groupId>

        <artifactId>classmate</artifactId>

        <version>${classmate.version}</version>

      </dependency>

      <dependency>

        <groupId>commons-codec</groupId>

        <artifactId>commons-codec</artifactId>

        <version>${commons-codec.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.commons</groupId>

        <artifactId>commons-dbcp2</artifactId>

        <version>${commons-dbcp2.version}</version>

        <exclusions>

          <exclusion>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.commons</groupId>

        <artifactId>commons-lang3</artifactId>

        <version>${commons-lang3.version}</version>

      </dependency>

      <dependency>

        <groupId>commons-pool</groupId>

        <artifactId>commons-pool</artifactId>

        <version>${commons-pool.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.commons</groupId>

        <artifactId>commons-pool2</artifactId>

        <version>${commons-pool2.version}</version>

      </dependency>

      <dependency>

        <groupId>com.couchbase.client</groupId>

        <artifactId>java-client</artifactId>

        <version>${couchbase-client.version}</version>

      </dependency>

      <dependency>

        <groupId>com.ibm.db2</groupId>

        <artifactId>jcc</artifactId>

        <version>${db2-jdbc.version}</version>

      </dependency>

      <dependency>

        <groupId>io.spring.gradle</groupId>

        <artifactId>dependency-management-plugin</artifactId>

        <version>${dependency-management-plugin.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.derby</groupId>

        <artifactId>derby</artifactId>

        <version>${derby.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.derby</groupId>

        <artifactId>derbyclient</artifactId>

        <version>${derby.version}</version>

      </dependency>

      <dependency>

        <groupId>net.sf.ehcache</groupId>

        <artifactId>ehcache</artifactId>

        <version>${ehcache.version}</version>

      </dependency>

      <dependency>

        <groupId>org.ehcache</groupId>

        <artifactId>ehcache</artifactId>

        <version>${ehcache3.version}</version>

      </dependency>

      <dependency>

        <groupId>org.ehcache</groupId>

        <artifactId>ehcache-clustered</artifactId>

        <version>${ehcache3.version}</version>

      </dependency>

      <dependency>

        <groupId>org.ehcache</groupId>

        <artifactId>ehcache-transactions</artifactId>

        <version>${ehcache3.version}</version>

      </dependency>

      <dependency>

        <groupId>org.elasticsearch</groupId>

        <artifactId>elasticsearch</artifactId>

        <version>${elasticsearch.version}</version>

      </dependency>

      <dependency>

        <groupId>org.elasticsearch.client</groupId>

        <artifactId>transport</artifactId>

        <version>${elasticsearch.version}</version>

      </dependency>

      <dependency>

        <groupId>org.elasticsearch.client</groupId>

        <artifactId>elasticsearch-rest-client</artifactId>

        <version>${elasticsearch.version}</version>

        <exclusions>

          <exclusion>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.elasticsearch.client</groupId>

        <artifactId>elasticsearch-rest-client-sniffer</artifactId>

        <version>${elasticsearch.version}</version>

        <exclusions>

          <exclusion>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.elasticsearch.client</groupId>

        <artifactId>elasticsearch-rest-high-level-client</artifactId>

        <version>${elasticsearch.version}</version>

      </dependency>

      <dependency>

        <groupId>org.elasticsearch.distribution.integ-test-zip</groupId>

        <artifactId>elasticsearch</artifactId>

        <version>${elasticsearch.version}</version>

        <type>zip</type>

      </dependency>

      <dependency>

        <groupId>org.elasticsearch.plugin</groupId>

        <artifactId>transport-netty4-client</artifactId>

        <version>${elasticsearch.version}</version>

      </dependency>

      <dependency>

        <groupId>de.flapdoodle.embed</groupId>

        <artifactId>de.flapdoodle.embed.mongo</artifactId>

        <version>${embedded-mongo.version}</version>

      </dependency>

      <dependency>

        <groupId>org.flywaydb</groupId>

        <artifactId>flyway-core</artifactId>

        <version>${flyway.version}</version>

      </dependency>

      <dependency>

        <groupId>org.freemarker</groupId>

        <artifactId>freemarker</artifactId>

        <version>${freemarker.version}</version>

      </dependency>

      <dependency>

        <groupId>org.glassfish</groupId>

        <artifactId>jakarta.el</artifactId>

        <version>${glassfish-el.version}</version>

      </dependency>

      <dependency>

        <groupId>org.glassfish.jaxb</groupId>

        <artifactId>codemodel</artifactId>

        <version>${glassfish-jaxb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.glassfish.jaxb</groupId>

        <artifactId>codemodel-annotation-compiler</artifactId>

        <version>${glassfish-jaxb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.glassfish.jaxb</groupId>

        <artifactId>jaxb-jxc</artifactId>

        <version>${glassfish-jaxb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.glassfish.jaxb</groupId>

        <artifactId>jaxb-runtime</artifactId>

        <version>${glassfish-jaxb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.glassfish.jaxb</groupId>

        <artifactId>jaxb-xjc</artifactId>

        <version>${glassfish-jaxb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.glassfish.jaxb</groupId>

        <artifactId>txw2</artifactId>

        <version>${glassfish-jaxb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.glassfish.jaxb</groupId>

        <artifactId>txwc2</artifactId>

        <version>${glassfish-jaxb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.glassfish.jaxb</groupId>

        <artifactId>xsom</artifactId>

        <version>${glassfish-jaxb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.glassfish.web</groupId>

        <artifactId>jakarta.servlet.jsp.jstl</artifactId>

        <version>${glassfish-jstl.version}</version>

      </dependency>

      <dependency>

        <groupId>com.google.code.gson</groupId>

        <artifactId>gson</artifactId>

        <version>${gson.version}</version>

      </dependency>

      <dependency>

        <groupId>com.h2database</groupId>

        <artifactId>h2</artifactId>

        <version>${h2.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hamcrest</groupId>

        <artifactId>hamcrest</artifactId>

        <version>${hamcrest.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hamcrest</groupId>

        <artifactId>hamcrest-core</artifactId>

        <version>${hamcrest.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hamcrest</groupId>

        <artifactId>hamcrest-library</artifactId>

        <version>${hamcrest.version}</version>

      </dependency>

      <dependency>

        <groupId>com.hazelcast</groupId>

        <artifactId>hazelcast</artifactId>

        <version>${hazelcast.version}</version>

      </dependency>

      <dependency>

        <groupId>com.hazelcast</groupId>

        <artifactId>hazelcast-spring</artifactId>

        <version>${hazelcast.version}</version>

      </dependency>

      <dependency>

        <groupId>com.hazelcast</groupId>

        <artifactId>hazelcast-hibernate52</artifactId>

        <version>${hazelcast-hibernate5.version}</version>

      </dependency>

      <dependency>

        <groupId>com.hazelcast</groupId>

        <artifactId>hazelcast-hibernate53</artifactId>

        <version>${hazelcast-hibernate5.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-c3p0</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-core</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-ehcache</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-entitymanager</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-envers</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-hikaricp</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-java8</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-jcache</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-jpamodelgen</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-micrometer</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-proxool</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-spatial</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-testing</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate</groupId>

        <artifactId>hibernate-vibur</artifactId>

        <version>${hibernate.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate.validator</groupId>

        <artifactId>hibernate-validator</artifactId>

        <version>${hibernate-validator.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hibernate.validator</groupId>

        <artifactId>hibernate-validator-annotation-processor</artifactId>

        <version>${hibernate-validator.version}</version>

      </dependency>

      <dependency>

        <groupId>com.zaxxer</groupId>

        <artifactId>HikariCP</artifactId>

        <version>${hikaricp.version}</version>

      </dependency>

      <dependency>

        <groupId>org.hsqldb</groupId>

        <artifactId>hsqldb</artifactId>

        <version>${hsqldb.version}</version>

      </dependency>

      <dependency>

        <groupId>net.sourceforge.htmlunit</groupId>

        <artifactId>htmlunit</artifactId>

        <version>${htmlunit.version}</version>

        <exclusions>

          <exclusion>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents</groupId>

        <artifactId>httpasyncclient</artifactId>

        <version>${httpasyncclient.version}</version>

        <exclusions>

          <exclusion>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents</groupId>

        <artifactId>fluent-hc</artifactId>

        <version>${httpclient.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents</groupId>

        <artifactId>httpclient</artifactId>

        <version>${httpclient.version}</version>

        <exclusions>

          <exclusion>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents</groupId>

        <artifactId>httpclient-cache</artifactId>

        <version>${httpclient.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents</groupId>

        <artifactId>httpclient-osgi</artifactId>

        <version>${httpclient.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents</groupId>

        <artifactId>httpclient-win</artifactId>

        <version>${httpclient.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents</groupId>

        <artifactId>httpmime</artifactId>

        <version>${httpclient.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents.client5</groupId>

        <artifactId>httpclient5</artifactId>

        <version>${httpclient5.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents.client5</groupId>

        <artifactId>httpclient5-cache</artifactId>

        <version>${httpclient5.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents.client5</groupId>

        <artifactId>httpclient5-fluent</artifactId>

        <version>${httpclient5.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents.client5</groupId>

        <artifactId>httpclient5-win</artifactId>

        <version>${httpclient5.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents</groupId>

        <artifactId>httpcore</artifactId>

        <version>${httpcore.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents</groupId>

        <artifactId>httpcore-nio</artifactId>

        <version>${httpcore.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents.core5</groupId>

        <artifactId>httpcore5</artifactId>

        <version>${httpcore5.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents.core5</groupId>

        <artifactId>httpcore5-h2</artifactId>

        <version>${httpcore5.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.httpcomponents.core5</groupId>

        <artifactId>httpcore5-reactive</artifactId>

        <version>${httpcore5.version}</version>

      </dependency>

      <dependency>

        <groupId>org.influxdb</groupId>

        <artifactId>influxdb-java</artifactId>

        <version>${influxdb-java.version}</version>

      </dependency>

      <dependency>

        <groupId>com.sun.activation</groupId>

        <artifactId>jakarta.activation</artifactId>

        <version>${jakarta-activation.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.activation</groupId>

        <artifactId>jakarta.activation-api</artifactId>

        <version>${jakarta-activation.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.annotation</groupId>

        <artifactId>jakarta.annotation-api</artifactId>

        <version>${jakarta-annotation.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.jms</groupId>

        <artifactId>jakarta.jms-api</artifactId>

        <version>${jakarta-jms.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.json</groupId>

        <artifactId>jakarta.json-api</artifactId>

        <version>${jakarta-json.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.json.bind</groupId>

        <artifactId>jakarta.json.bind-api</artifactId>

        <version>${jakarta-json-bind.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.mail</groupId>

        <artifactId>jakarta.mail-api</artifactId>

        <version>${jakarta-mail.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.management.j2ee</groupId>

        <artifactId>jakarta.management.j2ee-api</artifactId>

        <version>${jakarta-management.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.persistence</groupId>

        <artifactId>jakarta.persistence-api</artifactId>

        <version>${jakarta-persistence.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.servlet</groupId>

        <artifactId>jakarta.servlet-api</artifactId>

        <version>${jakarta-servlet.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.servlet.jsp.jstl</groupId>

        <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>

        <version>${jakarta-servlet-jsp-jstl.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.transaction</groupId>

        <artifactId>jakarta.transaction-api</artifactId>

        <version>${jakarta-transaction.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.validation</groupId>

        <artifactId>jakarta.validation-api</artifactId>

        <version>${jakarta-validation.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.websocket</groupId>

        <artifactId>jakarta.websocket-api</artifactId>

        <version>${jakarta-websocket.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.ws.rs</groupId>

        <artifactId>jakarta.ws.rs-api</artifactId>

        <version>${jakarta-ws-rs.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.xml.bind</groupId>

        <artifactId>jakarta.xml.bind-api</artifactId>

        <version>${jakarta-xml-bind.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.xml.soap</groupId>

        <artifactId>jakarta.xml.soap-api</artifactId>

        <version>${jakarta-xml-soap.version}</version>

      </dependency>

      <dependency>

        <groupId>jakarta.xml.ws</groupId>

        <artifactId>jakarta.xml.ws-api</artifactId>

        <version>${jakarta-xml-ws.version}</version>

      </dependency>

      <dependency>

        <groupId>org.codehaus.janino</groupId>

        <artifactId>commons-compiler</artifactId>

        <version>${janino.version}</version>

      </dependency>

      <dependency>

        <groupId>org.codehaus.janino</groupId>

        <artifactId>commons-compiler-jdk</artifactId>

        <version>${janino.version}</version>

      </dependency>

      <dependency>

        <groupId>org.codehaus.janino</groupId>

        <artifactId>janino</artifactId>

        <version>${janino.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.activation</groupId>

        <artifactId>javax.activation-api</artifactId>

        <version>${javax-activation.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.annotation</groupId>

        <artifactId>javax.annotation-api</artifactId>

        <version>${javax-annotation.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.cache</groupId>

        <artifactId>cache-api</artifactId>

        <version>${javax-cache.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.xml.bind</groupId>

        <artifactId>jaxb-api</artifactId>

        <version>${javax-jaxb.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.xml.ws</groupId>

        <artifactId>jaxws-api</artifactId>

        <version>${javax-jaxws.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.jms</groupId>

        <artifactId>javax.jms-api</artifactId>

        <version>${javax-jms.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.json</groupId>

        <artifactId>javax.json-api</artifactId>

        <version>${javax-json.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.json.bind</groupId>

        <artifactId>javax.json.bind-api</artifactId>

        <version>${javax-jsonb.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.mail</groupId>

        <artifactId>javax.mail-api</artifactId>

        <version>${javax-mail.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.money</groupId>

        <artifactId>money-api</artifactId>

        <version>${javax-money.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.persistence</groupId>

        <artifactId>javax.persistence-api</artifactId>

        <version>${javax-persistence.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.transaction</groupId>

        <artifactId>javax.transaction-api</artifactId>

        <version>${javax-transaction.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.validation</groupId>

        <artifactId>validation-api</artifactId>

        <version>${javax-validation.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.websocket</groupId>

        <artifactId>javax.websocket-api</artifactId>

        <version>${javax-websocket.version}</version>

      </dependency>

      <dependency>

        <groupId>jaxen</groupId>

        <artifactId>jaxen</artifactId>

        <version>${jaxen.version}</version>

      </dependency>

      <dependency>

        <groupId>org.firebirdsql.jdbc</groupId>

        <artifactId>jaybird</artifactId>

        <version>${jaybird.version}</version>

      </dependency>

      <dependency>

        <groupId>org.firebirdsql.jdbc</groupId>

        <artifactId>jaybird-jdk18</artifactId>

        <version>${jaybird.version}</version>

      </dependency>

      <dependency>

        <groupId>org.jboss.logging</groupId>

        <artifactId>jboss-logging</artifactId>

        <version>${jboss-logging.version}</version>

      </dependency>

      <dependency>

        <groupId>org.jdom</groupId>

        <artifactId>jdom2</artifactId>

        <version>${jdom2.version}</version>

      </dependency>

      <dependency>

        <groupId>redis.clients</groupId>

        <artifactId>jedis</artifactId>

        <version>${jedis.version}</version>

      </dependency>

      <dependency>

        <groupId>org.mortbay.jasper</groupId>

        <artifactId>apache-el</artifactId>

        <version>${jetty-el.version}</version>

      </dependency>

      <dependency>

        <groupId>org.eclipse.jetty.orbit</groupId>

        <artifactId>javax.servlet.jsp</artifactId>

        <version>${jetty-jsp.version}</version>

      </dependency>

      <dependency>

        <groupId>org.eclipse.jetty</groupId>

        <artifactId>jetty-reactive-httpclient</artifactId>

        <version>${jetty-reactive-httpclient.version}</version>

      </dependency>

      <dependency>

        <groupId>com.samskivert</groupId>

        <artifactId>jmustache</artifactId>

        <version>${jmustache.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.johnzon</groupId>

        <artifactId>johnzon-core</artifactId>

        <version>${johnzon.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.johnzon</groupId>

        <artifactId>johnzon-jaxrs</artifactId>

        <version>${johnzon.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.johnzon</groupId>

        <artifactId>johnzon-jsonb</artifactId>

        <version>${johnzon.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.johnzon</groupId>

        <artifactId>johnzon-jsonb-extras</artifactId>

        <version>${johnzon.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.johnzon</groupId>

        <artifactId>johnzon-jsonschema</artifactId>

        <version>${johnzon.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.johnzon</groupId>

        <artifactId>johnzon-mapper</artifactId>

        <version>${johnzon.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.johnzon</groupId>

        <artifactId>johnzon-websocket</artifactId>

        <version>${johnzon.version}</version>

      </dependency>

      <dependency>

        <groupId>org.jolokia</groupId>

        <artifactId>jolokia-core</artifactId>

        <version>${jolokia.version}</version>

      </dependency>

      <dependency>

        <groupId>org.jooq</groupId>

        <artifactId>jooq</artifactId>

        <version>${jooq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.jooq</groupId>

        <artifactId>jooq-codegen</artifactId>

        <version>${jooq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.jooq</groupId>

        <artifactId>jooq-kotlin</artifactId>

        <version>${jooq.version}</version>

      </dependency>

      <dependency>

        <groupId>org.jooq</groupId>

        <artifactId>jooq-meta</artifactId>

        <version>${jooq.version}</version>

      </dependency>

      <dependency>

        <groupId>com.jayway.jsonpath</groupId>

        <artifactId>json-path</artifactId>

        <version>${json-path.version}</version>

      </dependency>

      <dependency>

        <groupId>com.jayway.jsonpath</groupId>

        <artifactId>json-path-assert</artifactId>

        <version>${json-path.version}</version>

      </dependency>

      <dependency>

        <groupId>net.minidev</groupId>

        <artifactId>json-smart</artifactId>

        <version>${json-smart.version}</version>

      </dependency>

      <dependency>

        <groupId>org.skyscreamer</groupId>

        <artifactId>jsonassert</artifactId>

        <version>${jsonassert.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.servlet</groupId>

        <artifactId>jstl</artifactId>

        <version>${jstl.version}</version>

      </dependency>

      <dependency>

        <groupId>net.sourceforge.jtds</groupId>

        <artifactId>jtds</artifactId>

        <version>${jtds.version}</version>

      </dependency>

      <dependency>

        <groupId>junit</groupId>

        <artifactId>junit</artifactId>

        <version>${junit.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>connect</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>connect-api</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>connect-basic-auth-extension</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>connect-file</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>connect-json</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>connect-mirror</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>connect-mirror-client</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>connect-runtime</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>connect-transforms</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>generator</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-clients</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-clients</artifactId>

        <version>${kafka.version}</version>

        <classifier>test</classifier>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-log4j-appender</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-metadata</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-raft</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-server-common</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-shell</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-storage</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-storage-api</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-streams</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-streams-scala_2.12</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-streams-scala_2.13</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-streams-test-utils</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka-tools</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka_2.12</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka_2.12</artifactId>

        <version>${kafka.version}</version>

        <classifier>test</classifier>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka_2.13</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>kafka_2.13</artifactId>

        <version>${kafka.version}</version>

        <classifier>test</classifier>

      </dependency>

      <dependency>

        <groupId>org.apache.kafka</groupId>

        <artifactId>trogdor</artifactId>

        <version>${kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>io.lettuce</groupId>

        <artifactId>lettuce-core</artifactId>

        <version>${lettuce.version}</version>

      </dependency>

      <dependency>

        <groupId>org.liquibase</groupId>

        <artifactId>liquibase-cdi</artifactId>

        <version>${liquibase.version}</version>

      </dependency>

      <dependency>

        <groupId>org.liquibase</groupId>

        <artifactId>liquibase-core</artifactId>

        <version>${liquibase.version}</version>

      </dependency>

      <dependency>

        <groupId>ch.qos.logback</groupId>

        <artifactId>logback-access</artifactId>

        <version>${logback.version}</version>

      </dependency>

      <dependency>

        <groupId>ch.qos.logback</groupId>

        <artifactId>logback-classic</artifactId>

        <version>${logback.version}</version>

      </dependency>

      <dependency>

        <groupId>ch.qos.logback</groupId>

        <artifactId>logback-core</artifactId>

        <version>${logback.version}</version>

      </dependency>

      <dependency>

        <groupId>org.projectlombok</groupId>

        <artifactId>lombok</artifactId>

        <version>${lombok.version}</version>

      </dependency>

      <dependency>

        <groupId>org.mariadb.jdbc</groupId>

        <artifactId>mariadb-java-client</artifactId>

        <version>${mariadb.version}</version>

      </dependency>

      <dependency>

        <groupId>io.micrometer</groupId>

        <artifactId>micrometer-registry-stackdriver</artifactId>

        <version>${micrometer.version}</version>

        <exclusions>

          <exclusion>

            <groupId>javax.annotation</groupId>

            <artifactId>javax.annotation-api</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.jvnet.mimepull</groupId>

        <artifactId>mimepull</artifactId>

        <version>${mimepull.version}</version>

      </dependency>

      <dependency>

        <groupId>org.mockito</groupId>

        <artifactId>mockito-core</artifactId>

        <version>${mockito.version}</version>

      </dependency>

      <dependency>

        <groupId>org.mockito</groupId>

        <artifactId>mockito-inline</artifactId>

        <version>${mockito.version}</version>

      </dependency>

      <dependency>

        <groupId>org.mockito</groupId>

        <artifactId>mockito-junit-jupiter</artifactId>

        <version>${mockito.version}</version>

      </dependency>

      <dependency>

        <groupId>org.mongodb</groupId>

        <artifactId>bson</artifactId>

        <version>${mongodb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.mongodb</groupId>

        <artifactId>mongodb-driver-core</artifactId>

        <version>${mongodb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.mongodb</groupId>

        <artifactId>mongodb-driver-legacy</artifactId>

        <version>${mongodb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.mongodb</groupId>

        <artifactId>mongodb-driver-reactivestreams</artifactId>

        <version>${mongodb.version}</version>

      </dependency>

      <dependency>

        <groupId>org.mongodb</groupId>

        <artifactId>mongodb-driver-sync</artifactId>

        <version>${mongodb.version}</version>

      </dependency>

      <dependency>

        <groupId>com.microsoft.sqlserver</groupId>

        <artifactId>mssql-jdbc</artifactId>

        <version>${mssql-jdbc.version}</version>

      </dependency>

      <dependency>

        <groupId>mysql</groupId>

        <artifactId>mysql-connector-java</artifactId>

        <version>${mysql.version}</version>

        <exclusions>

          <exclusion>

            <groupId>com.google.protobuf</groupId>

            <artifactId>protobuf-java</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>net.sourceforge.nekohtml</groupId>

        <artifactId>nekohtml</artifactId>

        <version>${nekohtml.version}</version>

      </dependency>

      <dependency>

        <groupId>org.neo4j.driver</groupId>

        <artifactId>neo4j-java-driver</artifactId>

        <version>${neo4j-java-driver.version}</version>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative</artifactId>

        <version>${netty-tcnative.version}</version>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative</artifactId>

        <version>${netty-tcnative.version}</version>

        <classifier>linux-x86_64</classifier>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative</artifactId>

        <version>${netty-tcnative.version}</version>

        <classifier>linux-x86_64-fedora</classifier>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative</artifactId>

        <version>${netty-tcnative.version}</version>

        <classifier>linux-aarch_64-fedora</classifier>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative</artifactId>

        <version>${netty-tcnative.version}</version>

        <classifier>osx-x86_64</classifier>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative-boringssl-static</artifactId>

        <version>${netty-tcnative.version}</version>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative-boringssl-static</artifactId>

        <version>${netty-tcnative.version}</version>

        <classifier>linux-x86_64</classifier>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative-boringssl-static</artifactId>

        <version>${netty-tcnative.version}</version>

        <classifier>osx-aarch_64</classifier>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative-boringssl-static</artifactId>

        <version>${netty-tcnative.version}</version>

        <classifier>windows-x86_64</classifier>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative-boringssl-static</artifactId>

        <version>${netty-tcnative.version}</version>

        <classifier>linux-aarch_64</classifier>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative-boringssl-static</artifactId>

        <version>${netty-tcnative.version}</version>

        <classifier>osx-x86_64</classifier>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-tcnative-classes</artifactId>

        <version>${netty-tcnative.version}</version>

      </dependency>

      <dependency>

        <groupId>com.squareup.okhttp3</groupId>

        <artifactId>logging-interceptor</artifactId>

        <version>${okhttp3.version}</version>

      </dependency>

      <dependency>

        <groupId>com.squareup.okhttp3</groupId>

        <artifactId>mockwebserver</artifactId>

        <version>${okhttp3.version}</version>

      </dependency>

      <dependency>

        <groupId>com.squareup.okhttp3</groupId>

        <artifactId>okcurl</artifactId>

        <version>${okhttp3.version}</version>

      </dependency>

      <dependency>

        <groupId>com.squareup.okhttp3</groupId>

        <artifactId>okhttp</artifactId>

        <version>${okhttp3.version}</version>

      </dependency>

      <dependency>

        <groupId>com.squareup.okhttp3</groupId>

        <artifactId>okhttp-dnsoverhttps</artifactId>

        <version>${okhttp3.version}</version>

      </dependency>

      <dependency>

        <groupId>com.squareup.okhttp3</groupId>

        <artifactId>okhttp-sse</artifactId>

        <version>${okhttp3.version}</version>

      </dependency>

      <dependency>

        <groupId>com.squareup.okhttp3</groupId>

        <artifactId>okhttp-testing-support</artifactId>

        <version>${okhttp3.version}</version>

      </dependency>

      <dependency>

        <groupId>com.squareup.okhttp3</groupId>

        <artifactId>okhttp-tls</artifactId>

        <version>${okhttp3.version}</version>

      </dependency>

      <dependency>

        <groupId>com.squareup.okhttp3</groupId>

        <artifactId>okhttp-urlconnection</artifactId>

        <version>${okhttp3.version}</version>

      </dependency>

      <dependency>

        <groupId>org.messaginghub</groupId>

        <artifactId>pooled-jms</artifactId>

        <version>${pooled-jms.version}</version>

      </dependency>

      <dependency>

        <groupId>org.postgresql</groupId>

        <artifactId>postgresql</artifactId>

        <version>${postgresql.version}</version>

      </dependency>

      <dependency>

        <groupId>org.quartz-scheduler</groupId>

        <artifactId>quartz</artifactId>

        <version>${quartz.version}</version>

        <exclusions>

          <exclusion>

            <groupId>com.mchange</groupId>

            <artifactId>c3p0</artifactId>

          </exclusion>

          <exclusion>

            <groupId>com.zaxxer</groupId>

            <artifactId>*</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.quartz-scheduler</groupId>

        <artifactId>quartz-jobs</artifactId>

        <version>${quartz.version}</version>

      </dependency>

      <dependency>

        <groupId>com.rabbitmq</groupId>

        <artifactId>amqp-client</artifactId>

        <version>${rabbit-amqp-client.version}</version>

      </dependency>

      <dependency>

        <groupId>com.rabbitmq</groupId>

        <artifactId>stream-client</artifactId>

        <version>${rabbit-stream-client.version}</version>

      </dependency>

      <dependency>

        <groupId>org.reactivestreams</groupId>

        <artifactId>reactive-streams</artifactId>

        <version>${reactive-streams.version}</version>

      </dependency>

      <dependency>

        <groupId>io.rest-assured</groupId>

        <artifactId>json-path</artifactId>

        <version>${rest-assured.version}</version>

      </dependency>

      <dependency>

        <groupId>io.rest-assured</groupId>

        <artifactId>json-schema-validator</artifactId>

        <version>${rest-assured.version}</version>

      </dependency>

      <dependency>

        <groupId>io.rest-assured</groupId>

        <artifactId>rest-assured</artifactId>

        <version>${rest-assured.version}</version>

      </dependency>

      <dependency>

        <groupId>io.rest-assured</groupId>

        <artifactId>scala-support</artifactId>

        <version>${rest-assured.version}</version>

      </dependency>

      <dependency>

        <groupId>io.rest-assured</groupId>

        <artifactId>spring-mock-mvc</artifactId>

        <version>${rest-assured.version}</version>

      </dependency>

      <dependency>

        <groupId>io.rest-assured</groupId>

        <artifactId>spring-web-test-client</artifactId>

        <version>${rest-assured.version}</version>

      </dependency>

      <dependency>

        <groupId>io.rest-assured</groupId>

        <artifactId>xml-path</artifactId>

        <version>${rest-assured.version}</version>

      </dependency>

      <dependency>

        <groupId>io.reactivex</groupId>

        <artifactId>rxjava</artifactId>

        <version>${rxjava.version}</version>

      </dependency>

      <dependency>

        <groupId>io.reactivex</groupId>

        <artifactId>rxjava-reactive-streams</artifactId>

        <version>${rxjava-adapter.version}</version>

      </dependency>

      <dependency>

        <groupId>io.reactivex.rxjava2</groupId>

        <artifactId>rxjava</artifactId>

        <version>${rxjava2.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-test</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-test-autoconfigure</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-actuator</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-actuator-autoconfigure</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-autoconfigure</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-autoconfigure-processor</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-buildpack-platform</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-configuration-metadata</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-configuration-processor</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-devtools</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-jarmode-layertools</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-loader</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-loader-tools</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-properties-migrator</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-activemq</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-actuator</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-amqp</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-aop</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-artemis</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-batch</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-cache</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-cassandra</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-cassandra-reactive</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-couchbase</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-couchbase-reactive</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-elasticsearch</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-jdbc</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-jpa</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-ldap</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-mongodb</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-mongodb-reactive</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-r2dbc</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-redis</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-redis-reactive</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-neo4j</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-rest</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-freemarker</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-groovy-templates</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-hateoas</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-integration</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-jdbc</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-jersey</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-jetty</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-jooq</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-json</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-jta-atomikos</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-log4j2</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-logging</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-mail</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-mustache</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-oauth2-client</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-quartz</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-reactor-netty</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-rsocket</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-security</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-test</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-thymeleaf</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-tomcat</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-undertow</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-validation</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-webflux</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-websocket</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web-services</artifactId>

        <version>2.6.5</version>

      </dependency>

      <dependency>

        <groupId>com.sun.xml.messaging.saaj</groupId>

        <artifactId>saaj-impl</artifactId>

        <version>${saaj-impl.version}</version>

      </dependency>

      <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-api</artifactId>

        <version>${selenium.version}</version>

      </dependency>

      <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-chrome-driver</artifactId>

        <version>${selenium.version}</version>

      </dependency>

      <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-edge-driver</artifactId>

        <version>${selenium.version}</version>

      </dependency>

      <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-firefox-driver</artifactId>

        <version>${selenium.version}</version>

      </dependency>

      <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-ie-driver</artifactId>

        <version>${selenium.version}</version>

      </dependency>

      <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-java</artifactId>

        <version>${selenium.version}</version>

      </dependency>

      <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-opera-driver</artifactId>

        <version>${selenium.version}</version>

      </dependency>

      <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-remote-driver</artifactId>

        <version>${selenium.version}</version>

      </dependency>

      <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-safari-driver</artifactId>

        <version>${selenium.version}</version>

      </dependency>

      <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>selenium-support</artifactId>

        <version>${selenium.version}</version>

      </dependency>

      <dependency>

        <groupId>org.seleniumhq.selenium</groupId>

        <artifactId>htmlunit-driver</artifactId>

        <version>${selenium-htmlunit.version}</version>

      </dependency>

      <dependency>

        <groupId>com.sendgrid</groupId>

        <artifactId>sendgrid-java</artifactId>

        <version>${sendgrid.version}</version>

      </dependency>

      <dependency>

        <groupId>javax.servlet</groupId>

        <artifactId>javax.servlet-api</artifactId>

        <version>${servlet-api.version}</version>

      </dependency>

      <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>jcl-over-slf4j</artifactId>

        <version>${slf4j.version}</version>

      </dependency>

      <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>jul-to-slf4j</artifactId>

        <version>${slf4j.version}</version>

      </dependency>

      <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>log4j-over-slf4j</artifactId>

        <version>${slf4j.version}</version>

      </dependency>

      <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>slf4j-api</artifactId>

        <version>${slf4j.version}</version>

      </dependency>

      <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>slf4j-ext</artifactId>

        <version>${slf4j.version}</version>

      </dependency>

      <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>slf4j-jcl</artifactId>

        <version>${slf4j.version}</version>

      </dependency>

      <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>slf4j-jdk14</artifactId>

        <version>${slf4j.version}</version>

      </dependency>

      <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>slf4j-log4j12</artifactId>

        <version>${slf4j.version}</version>

      </dependency>

      <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>slf4j-nop</artifactId>

        <version>${slf4j.version}</version>

      </dependency>

      <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>slf4j-simple</artifactId>

        <version>${slf4j.version}</version>

      </dependency>

      <dependency>

        <groupId>org.yaml</groupId>

        <artifactId>snakeyaml</artifactId>

        <version>${snakeyaml.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.solr</groupId>

        <artifactId>solr-analysis-extras</artifactId>

        <version>${solr.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.solr</groupId>

        <artifactId>solr-analytics</artifactId>

        <version>${solr.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.solr</groupId>

        <artifactId>solr-cell</artifactId>

        <version>${solr.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.solr</groupId>

        <artifactId>solr-core</artifactId>

        <version>${solr.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.solr</groupId>

        <artifactId>solr-dataimporthandler</artifactId>

        <version>${solr.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.solr</groupId>

        <artifactId>solr-dataimporthandler-extras</artifactId>

        <version>${solr.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.solr</groupId>

        <artifactId>solr-langid</artifactId>

        <version>${solr.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.solr</groupId>

        <artifactId>solr-ltr</artifactId>

        <version>${solr.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.solr</groupId>

        <artifactId>solr-solrj</artifactId>

        <version>${solr.version}</version>

        <exclusions>

          <exclusion>

            <groupId>org.slf4j</groupId>

            <artifactId>jcl-over-slf4j</artifactId>

          </exclusion>

        </exclusions>

      </dependency>

      <dependency>

        <groupId>org.apache.solr</groupId>

        <artifactId>solr-test-framework</artifactId>

        <version>${solr.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.solr</groupId>

        <artifactId>solr-velocity</artifactId>

        <version>${solr.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.amqp</groupId>

        <artifactId>spring-amqp</artifactId>

        <version>${spring-amqp.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.amqp</groupId>

        <artifactId>spring-rabbit</artifactId>

        <version>${spring-amqp.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.amqp</groupId>

        <artifactId>spring-rabbit-stream</artifactId>

        <version>${spring-amqp.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.amqp</groupId>

        <artifactId>spring-rabbit-junit</artifactId>

        <version>${spring-amqp.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.amqp</groupId>

        <artifactId>spring-rabbit-test</artifactId>

        <version>${spring-amqp.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.batch</groupId>

        <artifactId>spring-batch-core</artifactId>

        <version>${spring-batch.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.batch</groupId>

        <artifactId>spring-batch-infrastructure</artifactId>

        <version>${spring-batch.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.batch</groupId>

        <artifactId>spring-batch-integration</artifactId>

        <version>${spring-batch.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.batch</groupId>

        <artifactId>spring-batch-test</artifactId>

        <version>${spring-batch.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.hateoas</groupId>

        <artifactId>spring-hateoas</artifactId>

        <version>${spring-hateoas.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.kafka</groupId>

        <artifactId>spring-kafka</artifactId>

        <version>${spring-kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.kafka</groupId>

        <artifactId>spring-kafka-test</artifactId>

        <version>${spring-kafka.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.ldap</groupId>

        <artifactId>spring-ldap-core</artifactId>

        <version>${spring-ldap.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.ldap</groupId>

        <artifactId>spring-ldap-core-tiger</artifactId>

        <version>${spring-ldap.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.ldap</groupId>

        <artifactId>spring-ldap-ldif-batch</artifactId>

        <version>${spring-ldap.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.ldap</groupId>

        <artifactId>spring-ldap-ldif-core</artifactId>

        <version>${spring-ldap.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.ldap</groupId>

        <artifactId>spring-ldap-odm</artifactId>

        <version>${spring-ldap.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.ldap</groupId>

        <artifactId>spring-ldap-test</artifactId>

        <version>${spring-ldap.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.restdocs</groupId>

        <artifactId>spring-restdocs-asciidoctor</artifactId>

        <version>${spring-restdocs.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.restdocs</groupId>

        <artifactId>spring-restdocs-core</artifactId>

        <version>${spring-restdocs.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.restdocs</groupId>

        <artifactId>spring-restdocs-mockmvc</artifactId>

        <version>${spring-restdocs.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.restdocs</groupId>

        <artifactId>spring-restdocs-restassured</artifactId>

        <version>${spring-restdocs.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.restdocs</groupId>

        <artifactId>spring-restdocs-webtestclient</artifactId>

        <version>${spring-restdocs.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.retry</groupId>

        <artifactId>spring-retry</artifactId>

        <version>${spring-retry.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.ws</groupId>

        <artifactId>spring-ws-core</artifactId>

        <version>${spring-ws.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.ws</groupId>

        <artifactId>spring-ws-security</artifactId>

        <version>${spring-ws.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.ws</groupId>

        <artifactId>spring-ws-support</artifactId>

        <version>${spring-ws.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.ws</groupId>

        <artifactId>spring-ws-test</artifactId>

        <version>${spring-ws.version}</version>

      </dependency>

      <dependency>

        <groupId>org.springframework.ws</groupId>

        <artifactId>spring-xml</artifactId>

        <version>${spring-ws.version}</version>

      </dependency>

      <dependency>

        <groupId>org.xerial</groupId>

        <artifactId>sqlite-jdbc</artifactId>

        <version>${sqlite-jdbc.version}</version>

      </dependency>

      <dependency>

        <groupId>com.sun.mail</groupId>

        <artifactId>jakarta.mail</artifactId>

        <version>${sun-mail.version}</version>

      </dependency>

      <dependency>

        <groupId>org.thymeleaf</groupId>

        <artifactId>thymeleaf</artifactId>

        <version>${thymeleaf.version}</version>

      </dependency>

      <dependency>

        <groupId>org.thymeleaf</groupId>

        <artifactId>thymeleaf-spring5</artifactId>

        <version>${thymeleaf.version}</version>

      </dependency>

      <dependency>

        <groupId>com.github.mxab.thymeleaf.extras</groupId>

        <artifactId>thymeleaf-extras-data-attribute</artifactId>

        <version>${thymeleaf-extras-data-attribute.version}</version>

      </dependency>

      <dependency>

        <groupId>org.thymeleaf.extras</groupId>

        <artifactId>thymeleaf-extras-java8time</artifactId>

        <version>${thymeleaf-extras-java8time.version}</version>

      </dependency>

      <dependency>

        <groupId>org.thymeleaf.extras</groupId>

        <artifactId>thymeleaf-extras-springsecurity5</artifactId>

        <version>${thymeleaf-extras-springsecurity.version}</version>

      </dependency>

      <dependency>

        <groupId>nz.net.ultraq.thymeleaf</groupId>

        <artifactId>thymeleaf-layout-dialect</artifactId>

        <version>${thymeleaf-layout-dialect.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.tomcat</groupId>

        <artifactId>tomcat-annotations-api</artifactId>

        <version>${tomcat.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.tomcat</groupId>

        <artifactId>tomcat-jdbc</artifactId>

        <version>${tomcat.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.tomcat</groupId>

        <artifactId>tomcat-jsp-api</artifactId>

        <version>${tomcat.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.tomcat.embed</groupId>

        <artifactId>tomcat-embed-core</artifactId>

        <version>${tomcat.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.tomcat.embed</groupId>

        <artifactId>tomcat-embed-el</artifactId>

        <version>${tomcat.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.tomcat.embed</groupId>

        <artifactId>tomcat-embed-jasper</artifactId>

        <version>${tomcat.version}</version>

      </dependency>

      <dependency>

        <groupId>org.apache.tomcat.embed</groupId>

        <artifactId>tomcat-embed-websocket</artifactId>

        <version>${tomcat.version}</version>

      </dependency>

      <dependency>

        <groupId>com.unboundid</groupId>

        <artifactId>unboundid-ldapsdk</artifactId>

        <version>${unboundid-ldapsdk.version}</version>

      </dependency>

      <dependency>

        <groupId>io.undertow</groupId>

        <artifactId>undertow-core</artifactId>

        <version>${undertow.version}</version>

      </dependency>

      <dependency>

        <groupId>io.undertow</groupId>

        <artifactId>undertow-servlet</artifactId>

        <version>${undertow.version}</version>

      </dependency>

      <dependency>

        <groupId>io.undertow</groupId>

        <artifactId>undertow-websockets-jsr</artifactId>

        <version>${undertow.version}</version>

      </dependency>

      <dependency>

        <groupId>org.webjars</groupId>

        <artifactId>webjars-locator-core</artifactId>

        <version>${webjars-locator-core.version}</version>

      </dependency>

      <dependency>

        <groupId>wsdl4j</groupId>

        <artifactId>wsdl4j</artifactId>

        <version>${wsdl4j.version}</version>

      </dependency>

      <dependency>

        <groupId>org.xmlunit</groupId>

        <artifactId>xmlunit-assertj</artifactId>

        <version>${xmlunit2.version}</version>

      </dependency>

      <dependency>

        <groupId>org.xmlunit</groupId>

        <artifactId>xmlunit-core</artifactId>

        <version>${xmlunit2.version}</version>

      </dependency>

      <dependency>

        <groupId>org.xmlunit</groupId>

        <artifactId>xmlunit-legacy</artifactId>

        <version>${xmlunit2.version}</version>

      </dependency>

      <dependency>

        <groupId>org.xmlunit</groupId>

        <artifactId>xmlunit-matchers</artifactId>

        <version>${xmlunit2.version}</version>

      </dependency>

      <dependency>

        <groupId>org.xmlunit</groupId>

        <artifactId>xmlunit-placeholders</artifactId>

        <version>${xmlunit2.version}</version>

      </dependency>

      <dependency>

        <groupId>com.datastax.oss</groupId>

        <artifactId>java-driver-bom</artifactId>

        <version>${cassandra-driver.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>io.dropwizard.metrics</groupId>

        <artifactId>metrics-bom</artifactId>

        <version>${dropwizard-metrics.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.codehaus.groovy</groupId>

        <artifactId>groovy-bom</artifactId>

        <version>${groovy.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.infinispan</groupId>

        <artifactId>infinispan-bom</artifactId>

        <version>${infinispan.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>com.fasterxml.jackson</groupId>

        <artifactId>jackson-bom</artifactId>

        <version>${jackson-bom.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.glassfish.jersey</groupId>

        <artifactId>jersey-bom</artifactId>

        <version>${jersey.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.eclipse.jetty</groupId>

        <artifactId>jetty-bom</artifactId>

        <version>${jetty.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.junit</groupId>

        <artifactId>junit-bom</artifactId>

        <version>${junit-jupiter.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.jetbrains.kotlin</groupId>

        <artifactId>kotlin-bom</artifactId>

        <version>${kotlin.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.jetbrains.kotlinx</groupId>

        <artifactId>kotlinx-coroutines-bom</artifactId>

        <version>${kotlin-coroutines.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.apache.logging.log4j</groupId>

        <artifactId>log4j-bom</artifactId>

        <version>${log4j2.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>io.micrometer</groupId>

        <artifactId>micrometer-bom</artifactId>

        <version>${micrometer.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>io.netty</groupId>

        <artifactId>netty-bom</artifactId>

        <version>${netty.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>com.oracle.database.jdbc</groupId>

        <artifactId>ojdbc-bom</artifactId>

        <version>${oracle-database.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>io.prometheus</groupId>

        <artifactId>simpleclient_bom</artifactId>

        <version>${prometheus-client.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>com.querydsl</groupId>

        <artifactId>querydsl-bom</artifactId>

        <version>${querydsl.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>io.r2dbc</groupId>

        <artifactId>r2dbc-bom</artifactId>

        <version>${r2dbc-bom.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>io.projectreactor</groupId>

        <artifactId>reactor-bom</artifactId>

        <version>${reactor-bom.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>io.rsocket</groupId>

        <artifactId>rsocket-bom</artifactId>

        <version>${rsocket.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.springframework.data</groupId>

        <artifactId>spring-data-bom</artifactId>

        <version>${spring-data-bom.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.springframework</groupId>

        <artifactId>spring-framework-bom</artifactId>

        <version>${spring-framework.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.springframework.integration</groupId>

        <artifactId>spring-integration-bom</artifactId>

        <version>${spring-integration.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.springframework.security</groupId>

        <artifactId>spring-security-bom</artifactId>

        <version>${spring-security.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

      <dependency>

        <groupId>org.springframework.session</groupId>

        <artifactId>spring-session-bom</artifactId>

        <version>${spring-session-bom.version}</version>

        <type>pom</type>

        <scope>import</scope>

      </dependency>

    </dependencies>

  </dependencyManagement>

  <build>

    <pluginManagement>

      <plugins>

        <plugin>

          <groupId>org.codehaus.mojo</groupId>

          <artifactId>build-helper-maven-plugin</artifactId>

          <version>${build-helper-maven-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.flywaydb</groupId>

          <artifactId>flyway-maven-plugin</artifactId>

          <version>${flyway.version}</version>

        </plugin>

        <plugin>

          <groupId>pl.project13.maven</groupId>

          <artifactId>git-commit-id-plugin</artifactId>

          <version>${git-commit-id-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.johnzon</groupId>

          <artifactId>johnzon-maven-plugin</artifactId>

          <version>${johnzon.version}</version>

        </plugin>

        <plugin>

          <groupId>org.jooq</groupId>

          <artifactId>jooq-codegen-maven</artifactId>

          <version>${jooq.version}</version>

        </plugin>

        <plugin>

          <groupId>org.jetbrains.kotlin</groupId>

          <artifactId>kotlin-maven-plugin</artifactId>

          <version>${kotlin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.liquibase</groupId>

          <artifactId>liquibase-maven-plugin</artifactId>

          <version>${liquibase.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-antrun-plugin</artifactId>

          <version>${maven-antrun-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-assembly-plugin</artifactId>

          <version>${maven-assembly-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-clean-plugin</artifactId>

          <version>${maven-clean-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-compiler-plugin</artifactId>

          <version>${maven-compiler-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-dependency-plugin</artifactId>

          <version>${maven-dependency-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-deploy-plugin</artifactId>

          <version>${maven-deploy-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-enforcer-plugin</artifactId>

          <version>${maven-enforcer-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-failsafe-plugin</artifactId>

          <version>${maven-failsafe-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-help-plugin</artifactId>

          <version>${maven-help-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-install-plugin</artifactId>

          <version>${maven-install-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-invoker-plugin</artifactId>

          <version>${maven-invoker-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-jar-plugin</artifactId>

          <version>${maven-jar-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-javadoc-plugin</artifactId>

          <version>${maven-javadoc-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-resources-plugin</artifactId>

          <version>${maven-resources-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-shade-plugin</artifactId>

          <version>${maven-shade-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-source-plugin</artifactId>

          <version>${maven-source-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-surefire-plugin</artifactId>

          <version>${maven-surefire-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-war-plugin</artifactId>

          <version>${maven-war-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-maven-plugin</artifactId>

          <version>2.6.5</version>

        </plugin>

        <plugin>

          <groupId>org.codehaus.mojo</groupId>

          <artifactId>versions-maven-plugin</artifactId>

          <version>${versions-maven-plugin.version}</version>

        </plugin>

        <plugin>

          <groupId>org.codehaus.mojo</groupId>

          <artifactId>xml-maven-plugin</artifactId>

          <version>${xml-maven-plugin.version}</version>

        </plugin>

      </plugins>

    </pluginManagement>

  </build>

</project>

defer 로 해결

 

   <script  src="http://code.jquery.com/jquery-latest.min.js"></script>

 

import 가 다 문제네

 

<script type="module" 추가

 

하면

 

Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/css". Strict MIME type checking is enforced for module scripts per HTML spec.

 

<script defer src= 로 변경

 

Uncaught SyntaxError: Cannot use import statement outside a module

 

걍 css 직접 땡겨 해결

자바는 11이 대세.

스프링툴은 4.14.0

하위 설정도 모두 체크

 

서버를 위하여!

 

 

어러매뤽 싱크로뉘제이션

 

 

기본 메뉴에는 없지만 new project에는 있음.

package com.example.demo.Component;

 

import java.sql.Connection;

import java.sql.Statement;

 

import javax.sql.DataSource;

 

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.ApplicationArguments;

import org.springframework.boot.ApplicationRunner;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.stereotype.Component;

 

@Component

public class PgSQLRunner implements ApplicationRunner {

 

@Autowired

DataSource dataSource;

 

@Autowired

JdbcTemplate jdbcTemplate;

 

@Override

public void run(ApplicationArguments args) throws Exception {

// TODO Auto-generated method stub

System.out.println("PgSQLRunner ===> START ");

 

try(Connection connection = dataSource.getConnection()) {

System.out.println("PgSQLRunner ===>" + dataSource.getClass());

System.out.println("PgSQLRunner ===>" + connection.getMetaData());

System.out.println("PgSQLRunner ===>" + connection.getMetaData().getUserName());

 

Statement statement = connection.createStatement();

String sql = "CREATE TABLE TEST_USER2 (ID INTEGER NOT NULL, name VARCHAR(255), PRIMARY KEY (id))";

statement.executeUpdate(sql);

 

}

jdbcTemplate.execute("INSERT INTO TEST_USER2 values (5, 'fffff')");

}

}

PgSQLRunner ===>class com.zaxxer.hikari.HikariDataSource

PgSQLRunner ===>HikariProxyDatabaseMetaData@425033914 wrapping org.postgresql.jdbc.PgDatabaseMetaData@11d4d979

PgSQLRunner ===>postgres

 

잘됨 pgAdmin 초강력 툴이네.

pom.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.6.5</version>

<relativePath/> <!-- lookup parent from repository -->

</parent>

<groupId>com.example2</groupId>

<artifactId>demo-1</artifactId>

<version>0.0.1-SNAPSHOT</version>

<name>demo-1</name>

<description>Demo project for Spring Boot</description>

<properties>

<java.version>11</java.version>

</properties>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jdbc</artifactId>

</dependency>

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>2.2.2</version>

</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>

</dependencies>

 

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

 

</project>

 

이걸로는 됨.

 

application.properties는

 

 

spring.datasource.hikari.maximum-pool-size=4

spring.datasource.url=jdbc:postgresql://localhost:5432/testdb

spring.datasource.username=postgres

spring.datasource.password=[your password]

 

일단 오류 없음.

 

 

/Library/PostgreSQL/14/data

export LANGUAGE="en_US.UTF-8"
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

Installation Directory: /Library/PostgreSQL/14

Server Installation Directory: /Library/PostgreSQL/14

Data Directory: /Library/PostgreSQL/14/data

Database Port: 5432

Database Superuser: postgres

Operating System Account: postgres

Database Service: postgresql-14

Command Line Tools Installation Directory: /Library/PostgreSQL/14

pgAdmin4 Installation Directory: /Library/PostgreSQL/14/pgAdmin 4

Stack Builder Installation Directory: /Library/PostgreSQL/14

Installation Log: /tmp/install-postgresql.log

https://www.postgresqltutorial.com/install-postgresql-macos/

 

Install PostgreSQL on macOS

Summary: in this tutorial, you will learn how to download the PostgreSQL, install PostgreSQL on macOS, and restore the sample database. Download PostgreSQL installer for macOS To download the PostgreSQL installer, you follow these steps: Install PostgreSQL

www.postgresqltutorial.com

EDB Language Pack

Migration Toolkit

pgAgent for PosgreSQL

pgBouncer

pgJDBC

PostGIS

PostgreSQL

제일 중요한 JDBC 빼고 다 깔림.  써글.

 

zip파일 열어서 걍 더블클릭 해 주면 된다. 권한 설정을 또 물어보는데 그게 오류를 일으키는 듯.

───────────────────────────────────────────────────(junhoha@Junhoui-iMac-Pro:s000)─┐

─(15:13:46)──> cd /Library/PostgreSQL/pgJDBC                         ─(수, 330)─

┌─(/Library/PostgreSQL/pgJDBC)────────────────────(junhoha@Junhoui-iMac-Pro:s000)─┐

─(15:13:51)──> ls                                                    ─(수, 330)─

installer                   postgresql-42.2.18.jre6.jar scripts

postgresql-42.2.18.jar      postgresql-42.2.18.jre7.jar uninstall-pgjdbc.app

configuration\org.eclipse.osgi\.manager\.fileTable.3
configuration\org.eclipse.osgi\.manager\.fileTable.2
configuration\org.eclipse.osgi\.manager\.fileTableLock
configuration\org.eclipse.osgi\framework.info.2 이건 숫자가 바뀜
.metadata\.log

.lock 도 지워보고

 

걍 드러워서 다시 깜

 

 

잘됨. beyond compare 로 비교해 보면 되겠지만 시간 아깝

 

java --version                                    ─(수, 330)─

openjdk 11.0.12 2021-07-20 LTS

OpenJDK Runtime Environment Corretto-11.0.12.7.2 (build 11.0.12+7-LTS)

OpenJDK 64-Bit Server VM Corretto-11.0.12.7.2 (build 11.0.12+7-LTS, mixed mode)

 

whereis java                                      ─(수, 330)─

java: /usr/bin/java /Users/junhoha/.sdkman/candidates/java/current/man/man1/java.1

 

Description Resource Path Location Type
The compiler compliance specified is 11 but a JRE 17 is used demo Compiler Compliance JRE Compiler Compliance Problem

 

/usr/libexec/java_home -V                        ─(수, 330)─

Matching Java Virtual Machines (1):

    1.8.0_265 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

brew update --preinstall

brew tap adoptopenjdk/openjdk

brew install adoptopenjdk11 --cask

 

 

 
 
 
 
 
 
 
×24th July 2021: AdoptOpenJDK is moving to the Eclipse Foundation and rebranding.
Our July 2021 and future releases will come from Adoptium.net

Prebuilt OpenJDK Binaries for Free!

Java™ is the world's leading programming language and platform. AdoptOpenJDK uses infrastructure, build and test scripts to produce prebuilt binaries from OpenJDK™ class libraries and a choice of either OpenJDK or the Eclipse OpenJ9 VM.
All AdoptOpenJDK binaries and scripts are open source licensed and available for free.

Download for macOS x64

1. Choose a Version

OpenJDK 8 (LTS)OpenJDK 11 (LTS)OpenJDK 16 (Latest)

2. Choose a JVM Help Me Choose

 

 

 

 

 

 

HotSpotOpenJ9
 adoptium.net
AdoptOpenJDK has moved...
 
 

https://adoptium.net/temurin/releases/

 

Latest release

Eclipse Adoptium provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure. Supported platforms include Linux, macOS, Windows, ARM, Solaris, and AIX.

adoptium.net

 

OR

 

 

brew tap adoptopenjdk/openjdk

brew install adoptopenjdk11 --cask


AFN Korea
AFN Eagle FM
AFN Thunder AM
(미군네트워크 한국)
AFN The Eagle : Serving America's Best
국가
대한민국 국기 대한민국
개국
1957년
호출
부호
AM
-
FM
-
TV
-
주파수
채널
AM
1530㎑ (서울)[1]
FM
102.7㎒ (서울)
TV
VHF- Low 02CH
→UHF 34CH (서울)[2]
방송
품질
AM
1채널 모노
FM
2채널 스테레오
TV
NTSC-M(480i), MTS/SAP[3]
언어
영어
가청취권역
대한민국 주둔 주한미군 부대 및 인근
운영
American Forces Radio and Television Service
소유
미국 국방부 마크 미군

1. 개요
2. 상세
3. 송출
4. 편성
5. 여담
6. 방송 주파수



1. 개요[편집]

AFN The Eagle : Serving America's Best
American Forces Network, 약칭 AFN의 주한미군 지부 방송이다. 예전의 명칭은 AFKN(American Forces Korean Network)이고, 지금도 이 명칭으로 아는 사람도 많지만, 지금의 명칭은 AFN Korea이다. 현재의 명칭으로 바뀐 건 2001년 4월이며, TV방송이 개국된 건 1957년이다.

AFN Korea의 라디오 전파 송출은 미 육군 제1통신여단(1st Signal Brigade)이 담당한다.

라디오방송은 AFN Pacific 공식 사이트[4]에서 실시간으로 자유롭게 인터넷 청취가 가능하다. 주한미군 대구, 평택(험프리), 군산 채널 뿐만 아니라 주일미군 도쿄, 이와쿠니, 미사와, 오키나와, 사세보 채널, AFN 글로벌 채널[5] 청취가 가능. 구글 플레이(안드로이드), 앱스토어(iOS)에서 'AFN Pacific'이라는 공식 어플을 다운로드해서 설치하면 스마트폰으로도 실시간 청취가 가능하다. 또한 AFN Europe 웹사이트에 접속하거나 어플을 설치하여 유럽과 기타지역 미군 방송도 청취할수 있다.[6]
2. 상세[편집]


1957년 9월 15일 첫 방송을 시작했다. 당시 대한뉴스 보도 내용에 따르면 AFKN 연주소는 남산에 있었다고 하지만 정확한 연주소 위치는 알기가 어렵다. 훗날 연주소는 용산기지 안으로 이전된다.

방송 초창기 HLKZ-TV가 화재로 방송이 중단되었을 때 1959년 3월 1일부터 1961년 10월 15일까지 하루 30분씩 한국어 TV 프로그램을 편성하여 일시적으로 한국어 방송 기능을 수행하기도 했고, KBS와 TBC, MBC도 AFKN에서 방영하는 미국 프로그램들의 형식을 상당 부분 벤치마킹했다고 쓰고 표절했기 때문에[7] 위성방송 시대가 열리기 이전까지 한국 텔레비전 방송에 끼친 영향은 매우 컸다.[8]

그리고 4공 및 5공 시절 언론통제가 매우 심했을 때 영어를 할 줄 아는 식자층들은 KBS와 MBC에서 방영하는 뉴스 프로그램 대신에 AFKN에서 방송하던 ABC 뉴스 프로그램을 대신 시청하면서 해외 정세나 국내 정세에 대해 파악했다.[9]반공 운운하는 몇몇 사람들이 미국 뉴스를 안 믿는게 참 모순이다. 운영 주체가 미국 국방부 소속기관이면서도 1966년에 체결된 한미행정협정(SOFA) 제3조 2항에 '합중국(미국)은 대한민국 영역으로의, 영역으로부터의 또는 영역 안의 항해, 항공, 통신 및 육상, 교통을 불필요하게 방해하는 방법으로 제1항에 규정된 조치를 취하지 아니할 것에 동의한다.'라고 나와 있어 AFKN에서 방영하는 뉴스 프로그램에 대해서 감히? 언론통제가 불가능 했기 때문이었다. 따지고 보면 뉴스위크, 타임지처럼 6.29 선언 등 1980년대 후반 민주화 운동에 끼친 영향이 크다고 할 수 있고, 6월 항쟁 당시에 시위하던 사람들이 AFKN 방송을 보면서 상황이 어떻게 돌아가는지 파악했다는 에피소드도 있다.[10]

그리고 평일 낮 시간에(1970년대 중후반에는 평일 오전에도) 정규 방송을 내보내지 않는 한국 지상파 TV방송과는 다르게 평일에도 낮 방송도 시행했기 때문에 따로 유선방송에 가입하지 않는 이상 낮에 KBS와 MBC를 틀어봐야 정파 소리만 나와서 별 수 없이 알아듣든 못 알아듣든 AFKN을 시청하는 경우도 많았다. 그래서 왕년에는 KBS 1TV, KBS 2TV, MBC TV에 이은 제4의 지상파 채널로 명성(?)을 날렸다.

운영주체가 엄연히 미군이고 주 시청층도 미군과 그 가족들을 대상으로 한 것이니 만큼 인기 미국 드라마와 오락프로그램, 미국 애니메이션[11], 프로레슬링, 할리우드 영화 등을 틀어줬는데 다소 선정적이거나 폭력적인 장면들도 별다른 편집 없이 무광고로[12] 그대로 틀어줬었기 때문에 영어 좀 할 줄 아는 청소년들 사이에서는 문화욕구 겸 성욕구(?)[13]를 채워주는 채널로 인기가 있었고, 2부제 수업이 있던 시기에 오전반 수업을 마치고 귀가한 아이들도 남아나는 시간을 때우려고 AFKN을 보는 경우도 많았기에 학부모들로부터 많은 항의가 들어오기도 했다. 그도 그럴 것이 평일 낮 시간대에는 주부들 대상으로 소프 오페라 드라마를 편성했기 때문이었다. 언어가 달랐다는걸 감안하더라도 당시 한국 정서상 받아들이기 곤란한 장면들도 많았기도 했다. SNL 같은 시사 풍자 코미디, 레터맨 쇼, 투나잇 쇼 등 인기 토크쇼도 그대로 방송했기 때문에 미국의 소식을 빠르게 그대로 알 수 있기도 했으며, 금-토요일 밤과 주말 오전에 방송해 주는 영화로 영어 듣기 연습에도 도움이 많이 되었다.

1976년 컬러방송을 시작했을 때 당시 정부로부터 일련의 압박을 받기도 했다. 물론 미군에서는 그걸 Cool하게씹었지만[14] 거꾸로 생각해보면 당시 한국의 문화 정책이 얼마나 병맛이었는지 알 수 있었기도 했다. 국내 지상파 방송은 정치적인 목적에서 이런저런 통제를 가했고 만화나 영화, 음악 등 당대 문화계 전반에 이런저런 통제를 가했지만 정작 방송사에서 어린이 시간대에 미국과 일본 만화 영화 만을 줄기차게 편성시키고 국산 만화영화 제작을 안 하는 것에 대해서 방관한데다가[15], AFKN에서 대놓고 막장 드라마가 나와도 경고만 내렸던 수준이었으니 결과적으로 국내 문화 산업과 언론에 재갈만 물린 채 발전을 저해시킨 꼴이 되었기 때문이다.

긍정적인 측면에서는 당시로서는 핫한 미국 대중문화를 알기 쉬운 창구 중 하나였고 AFKN에서 WWF(현 WWE) 프로레슬링, NFL, MLB, NBA, NCAA, NHL 등의 스포츠 방송이라든가 심슨 가족, 스쿠비 두 시리즈, Sesame Street, 일렉트릭 컴퍼니[16] 같은 당시에 국내 지상파 방송사에서 수입하지 않은 미국 애니메이션들도 틀었기 때문에 이들이 정식으로 한국에 차츰 알려지기 전부터 AFKN을 통해 알게 된 사람들도 많다. 그래서 이런 문화들의 올드 팬들 중에는 처음 빠지게 된 계기에 '어렸을 때, AFKN에서 봐서'라는 게 흔하다.

또는 유럽이나 다른 나라 애니나 한국에서 비디오로 나오지도 않던 호러영화들도 여기로 접할 수 있었다. 판타스틱 플래닛만 해도 이미 1980년 초에 여기서 영어 더빙판을 방영해서 정작 한국에서 2004년에야 개봉했던 걸 보던 한국 사람도 있었고 블랙 크리스마스(영화)도 1982년쯤에 여기로 방영하여 볼 수 있었다. 다만, 무삭제는 아니라서 프레데터 1 같은 경우 1990년대에 방영할 당시 SBS에서 방영한 한국 더빙판보다 더 잘려나간 채로 방영한 바 있다.

일본 대중문화 개방 이전에도 미국이 일본 문화에 개방적이라 한국 지상파에서 잘린 애니/특촬 작품이나 에피소드들도 볼 수 있었다. 그래서인지 어렸을 때 AFKN으로 일본 애니메이션을 접한 한국 시청자들은 당시에는 미국 애니메이션으로 착각했다고... 미국 방송국에서 하는 방송은 맞잖아. 5공이 로봇 만화를 유해하다며 금지한 후에도 마크로스도 AFKN에서 로보테크라는 이름으로 4Kids에서 짬뽕 편집해 방송했으며, 우주전함 야마토는 Star blazer라고 이름을 바꿔 전편 방송해 줬다. 지브리가 국내에 소개되기 전 시기에 바람계곡의 나우시카도 주말에 니켈로디언에서 방송했다. 재패니메이션만이 아니라 미국 것도 대등 또는 더 많이 틀어줬다. 해나-바베라의 애니메이션이나 워너 브라더스의 애니메이션, 루니 툰 같은 것은 일요일 오전에 편성되었는데, 무려 한 시간이나 했다.

이 당시에는 서울 지역 TV 채널이 VHF 2번이었고 AM 주파수가 549㎑[17]였지만, 미군에 의한 방송 주파수 점유 및 미국의 저질문화 확산이라는 논란 때문에 1996년 4월 30일 오전 10시 55분부로 UHF 34번으로 옮겨졌고(KBS 보도)[18][19] AM 채널도 비슷한 시기에 1530㎑[20]로 옮겨졌다.

지상파로 송출했을 적에 MTS 방식으로 스테레오 방송을 송출했는데 미국 수출용 TV로는 Zweikanalton방식(독일식)으로 송출하는 한국의 스테레오 방송들을 들을 수는 없지만 AFKN만 스테레오로 수신됐다고 한다.[21]유럽(PAL방식..)에서 NTSC방송을 하고 일본에서도 NTSC-M기준으로 채널을 송출하던 곳이 미군이였으니(...)[22][23][24]

TV와 라디오 방송 두 가지가 있으며, TV 방송은 오산에서 정식적으로 지역 feed 방송을 관제 송출하여 2012년 5월까지 한국 내에서 아날로그 지상파 신호로 송출해 왔었다. 아마도 미군위성 전용을 수신받아서 지상파 UHF로 방송했던 것으로 보인다.

또한, 케이블 방송으로도 시청이 가능했었는데, 2008년경에 미군 측이 유선방송에 의한 송출을 중단하기로 요청하여 그마저 볼 수 없게 되었다.

마침내 2012년 5월 1일부로 주한미군 측이 AFN TV 아날로그 송출을 전면 중단하였다. 한국 내 디지털TV 전환 추세에 발 맞추기 위해 송출을 중단하였다고 하지만, 실상은 프로그램 저작권 문제 때문에 지상파 디지털 전환 없이 아예 지상파 송출을 중지한 것으로 보인다.[25]

지금은 케이블 방송, 위성방송, 인터넷, 그리고 가장 최근에는 IPTV와 스마트TV 등 여러 매체를 통해 외국 문화와 외국 방송을 직접 접할 수 있기 때문에, 역시 프로그램 공급업자 및 미국 방송사의 저작권 문제의 영향이 큰 듯 하다.[26] 따라서 이제 AFN TV를 볼 수 있는 방법은 미군PX나 미군에게서 비공식적으로 위성 디코더를 입수할 수 밖에 없다(…). 미군으로부터 디코더를 입수할 수는 없으며, 현재 무궁화5호 위성을 통해 기본 방송인 AFN prime Pacific 등 일부 채널을 시청할 수 있었으나 이는 위성 전환 과정 중에 일시적으로 PowerVu 암호화가 중단되어 FTA로 시청가능했기 때문이며, 인터넷 사이트를 검색하면 그럼에도 불구하고 다른 방법으로 시청하는 방법과 관련 자료가 있다. 즉, 의지와 투자가 있으면 어찌어찌해서 시청은 가능하나 여기서는 그 방법에 대해 일절 자세히 언급하지 않는다.
3. 송출[편집]

라디오로는 FM방송으로 AFN Eagle FM(서울 102.7㎒ / 남산송신소)과 중파방송으로는 AFN Thunder AM(평택 1440㎑ / 평택송신소) 채널을 운용하고 있다. Thunder AM은 컨트리 음악을 틀어주거나 PBR 라디오 방송을 중계해 주지만, Eagle FM은 최신 팝 음악을 많이 틀어준다. 영어 공부하기에는 AM 방송 쪽이 좀 더 낫다. 지역별로 FM/AM 주파수는 당연히 다르다. 그리고 나오는 곳이 너무 제한적이기 때문에… 별로 수신에 대한 기대를 하지 않는 것이 좋다. 그나마 미군 부대가 주둔한 곳 근처에선 AFN Korea 라디오를 들을 수 있다.

서울특별시만 해도 (평택 기지 이전 기준으로) AM 출력이 고작 5㎾라서 용산이나 종로, 을지로, 명동 등 일부 서울 도심 지역에서만 양호하게 나오는 정도였다.[27][28][29] 다만 서울지역 FM 102.7㎒의 경우는 출력이 5㎾[30]나 되기 때문에 서울이나 일부 근교지역에서 무리없이 수신할 수 있다.[31] 대구광역시와 칠곡군 라디오 FM주파수는 88.5㎒다. 대구 시내에서 미군기지가 있는 남구 쪽이나 중구 대봉동 쪽 또는 북구와 중계소가 있는 칠곡 왜관읍 쪽으로 가야 라디오 전파가 깨끗하게 잡힌다. 그 이외의 지역도 들리기는 하나, 깨끗한 수신을 장담할 수 없다.(수성구 시지지역에서도 꽤나 깨끗하게 잡힌다. 무려 스마트폰으로도.) 광역자치단체에서 자체적으로 운영하는 라디오 영어방송이 없는 대구의 특성상 사실상 대구의 FM영어방송 노릇을 하는 셈... 사실 부산의 경우에는 하얄리아 캠프가 폐쇄된 2006년에 방송이 중단되다가 2009년경 8부두에 송신탑을 세우면서 방송을 재개했는데, 8부두가 있는 남구와 영도구, 중구, 동구에서만 잘 들리고 동래구 위로 넘어가면 잡음이 엄청 많이 들린다. 그나마 부산에 부산영어방송이 있으니까 망정이지……[32][33]

설령 용산기지가 평택시로 완전 철수하더라도 AFN FM방송의 서울지역 송출이 유지될 것이라는 전망이 있다. 부산 하얄리아 기지의 철수 이후에 부산 지역 FM 송출이 재개된 사례를 보면 그럴 듯. AFN 라디오 방송 자체가 사실은 유사시 외국에 체류하는 미국 국적자들에게 미국 대사관의 대피 지침을 전파하는 비상 수단이기 때문에.[34] 다만 AFN 중파방송의 서울지역 송출은 용산기지가 철수하면서 중파 송신시설이 철거[35]되어 아예 중단되었다. 또한 최근에는 의정부, 동두천, 송탄, 군산, 대구, 왜관[36], 원주 지역의 AM 송출도 중단되었다.

2017년 미군 기지 평택 이전이 완료된 이후로는 서울지역의 중파송출(1530kHz)이 2017년 10월 10일부로 종료되었으며 송신장비는 평택 험프리 기지로 이전하여 현재 평택 주파수인 1440kHz를 송출하는 데 쓰이고 있다고 한다. AFN 측 답변에 따르면 서울 지역에도 신호가 닿도록 출력을 증강할 계획이라고 한다. 그러나 서울지역 FM송출(102.7MHz)는 여전히 이루어지고 있는데, 서울에 미국 국적자가 많이 체류하고 있는데다 국제적인 기준에서 서울 자체가 최전방 도시라서[37] 비상연락망 차원에서 유지하고 있는 것으로 보인다. 서울 지역 FM 송출 종료 계획 자체가 없다고 한다. 미군부대 평택 이전의 영향 때문인지 102.7 용산 주파수에서도 각종 공지방송, 공익광고에는 용산 기지가 안나오고 평택 험프리 기지가 언급된다. 용산기지 내 스튜디오가 폐지되어 현재는 평택의 것을 그대로 재송출하고 있기 때문이다.

2018년 2월 15일 부로 평택 미군기지 이전에 따른 주한미군 측의 방송네트워크 통합정책에 따라 동두천 Camp Casey의 AFN STUDIO는 완전 철수를 하였고, 평택 Camp Humphreys에서 송출되는 방송을 위성 재송신하여 기존과 같이 88.3MHz를 통해 청취 가능하다. 마찬가지로 용산기지, 오산 공군기지의 스튜디오를 폐쇄하였고, 현재 남아있는 방송국은 평택 미군 기지와 군산 공군 기지, 대구 캠프 워커 기지 세 곳이 남게 되었다.

미국 연방정부 셧다운(멕시코 장벽 포함 예산안 투표 연기)이 사상 최장으로 길어지면서 이로 인해 방송이 일시 중단된 적이 있었다. 라디오 전파 자체는 정상적으로 송출되었으나 미국 연방정부 셧다운으로 인해 방송을 하지 않는다는 취지의 짧은 영문 음성 멘트만 종일 무한 반복 송출되는 형태로서 방송이 일시 중단 되었다.
4. 편성[편집]

24시간 365일 진행된다.
최신 및 근대 POP 위주로 채워진 선곡이 특징이다.
다만 아침이나 점심 이후 등의 시간대에는 70-80 및 컨트리 등의 한때 시절을 풍미했던 노래들을 선곡하기도 한다.
그러나 새벽에는 선곡 담당이 삘 받았는지 차트만 본다면 찾아보기 어려운, 어디에서도 들어보기 힘들 숨겨진 명곡같은 곡(인디, 얼터너티브 등)을 들고와서 새벽의 몽환적인 분위기속에 귀를 호강시켜 주기도 한다.[38]
평일 주간 시간대에는 미군 담당 DJ와 종종 게스트가 출연하여 멘트와 각 캠프별 기상 상황 등을 알려주며 선곡을 하게 된다.
그 외 야간 및 심야 및 주말에는 정각 방송 및 중간 광고를 제외하고는 진행자와 멘트 없이 연속으로 음악 방송을 진행한다.
자체 진행 프로그램과 함께 국제 라디오 신디케이트 프로그램 등을 가져와 송출한다.
매시 정각 기준, 대체로 아래의 프로그램이 순차적으로 송출된다.
ABC 뉴스 또는 CBS 뉴스
FOX Sports Studio from Los Angeles
FOX NEWS business report
Money Minutes at www.incharge.org
Currency Exchanges by DOD Community Bank
편성 프로그램
캠프 공지사항[39] - 매시 정각 30분 전후
중간 광고 (미군 내부 광고)
편성 프로그램
중간 광고 (미군 내부 광고)
각 캠프별 기상 상황
중간 광고에는 자동차 안전 캠페인[40], 부대 내 캠페인[41], 금융 소비 상식[42] 및 간헐적으로 부대 내부 행사 소개[43] 등이 이어진다.
금요일 오후 6:00 ~ 오후 9:00
Remix Top 30 Countdown 아카이브
국제 라디오 신디케이트 프로그램을 가져와서 송출한다. Hollywood Hamilton 진행. 30위부터 1위까지 인기 곡을 리믹스 메들리하여 진행한다. 1주에 1시간(10순위)씩의 세션을 여러 DJ[44] 들이 리믹스하여 진행되며 진행 중에 히트 중인 유명 가수를 위 프로그램 스튜디오로 초대하거나 전화를 통해 인터뷰하기도 한다. 2021년 6월 26일 진행을 마지막으로 해당 신디케이트 프로그램의 끝을 알렸다. # 이후로도 AFN에서는 9월 즈음까지 동 시간대에 이전 진행 분을 재방송하는 등으로 송출하였다가 10월 이후에는 더이상 송출하지 않으며 평소 야간과 같이 POP 등 노래를 진행자 없이 송출 중이다.
토요일 오후 1:00 ~ 오후 5:00
Rick Dees Weekly Top 40 #
국제 라디오 신디케이트 프로그램을 가져와서 송출한다. Rick Dees 진행. 40위부터 1위까지의 인기 곡으로 진행하며 진행 중 몇몇 곡은 원곡 시작부분을 마개조(?)하여 노래가 해당 프로그램의 시그널을 부르면서 시작되도록 만들기도 한다.
5. 여담[편집]

예전에는 AFKN을 보고 들으면서 영어와 영미권 문화를 배웠다는 사람도 많았다.[45][46] 외국 문화의 유입이 제한적이고 인터넷, PC통신은 고사하고 아예 컴퓨터가 없는 가정이 여전히 많았던 1990년대까지만 해도 AFKN이 영미권의 시청각 자료를 원어로 직접 접할 수 있는 몇 안 되는 귀중한 통로 역할을 했지만[47] 2000년 초반부터 케이블TV[48] 및 초고속인터넷 보급화 이후에는 볼 이유가 줄어들었다. 영미권 시청각 자료야 국내 사이트에서도 꽤나 돌아다니고 케이블 방송이나 스카이라이프 위성방송, IPTV쪽에서도 영미권 방송물을 원어 그대로 송출하는 채널이 있기도 한데다가, 해외쪽을 보자면 유튜브, 데일리모션, Vimeo같은 동영상 스트리밍 사이트나 영미권 방송사 홈페이지 아니면 어딘가의 어둠의 사이트(...) 등에서 접하면 되니까. 즉, 원어로 된 시청각 자료를 통한 영어공부의 목적이라면 쉽게 이용 할 수 있는 대체재가 너무나도 많아져 있어서 굳이 AFKN을 이용할 필요성이 없어진 것이다. 디지털 전환이 이루어지면서 AFKN 채널을 오히려 접하기 어려워졌기도 하고. 게다가 FM 채널인 Eagle FM은 중간중간 삽입되는 짤막한 뉴스나 광고 빼고는 전부 음악만 방송하기 때문에 차라리 영어공부를 위해선 AM 채널을 들을 것을 권장한다. 다만 지금은 밤 시간대에 토크쇼 프로그램을 틀어 주니 관심있으면 참조하자.[49][50] FM방송의 경우 2000년대 초중반만 하더라도 최신 미국 가요만 주구장창 틀어줬었으나 2010년대에 들어서면서 과거에 비해서는 토막뉴스나 공익광고가 자주 나오는 추세다. 그리고 용산 버전 기준으로 2014년 당시에는 토막 군사뉴스는 카투사가 진행을 담당하는 경우가 많았었다. 최근에는 Thunder AM과 Eagle FM이 점점 통합되는 추세로 나가는 듯하다.

지금 와서 AFKN으로 공부를 하겠다는 말은 시대와 맞지 않다. 영어 공부를 하려면 Arirang TV, BBC Entertainment, CNN 등의 영어방송이나 EBS FM, tbs eFM 또는 BBC 월드 서비스, VOA의 영어교실 코너나 LearningEnglish 등이 더 낫다.

반대로 공부 목적이 아니라 하루종일 가요를 틀어놓고 싶다면 AFN Korea도 나쁘지 않다. 인기팝송 위주로 틀어주기 때문에 귀가 심심하지 않다. 게다가 하루 종일 들을 경우 최신곡은 대개 2~3번 반복해서 들을 수 있다. 인터넷이 보급되기 전에는 우리나라에서 미국 빌보드 상위의 최신 팝송을 가장 빨리 들을 수 있는 경로였다. 예를 들어 90년대에는 AFKN FM에서 최신 팝송이 나가고 2, 3일 후에야 "배철수의 음악캠프" 등 우리나라 FM에서 비로소 해당 음악을 소개하기 시작할 정도였으니까. 자기들도 한국 내 인기팝송의 트랜드를 주도하고 있다는것을 알고 있는지, Eagle FM 방송은 간간히 "Korea's Music Source, The Eagle!"이라는 멘트가 나올정도로 자부심(?)을 내세우기도 했다.

이는 근래에도 이어지고 있는데 “AFN The Eagle : Serving America's Best” 라는 멘트로서 자부심을 내세우고 있으며, 그 외에도 중간 중간 앞의 시그널이 시작되기 전에 “우리는 ‘훌륭한’ 음악을 발명하지 않았습니다. ‘완벽한’ 것을 했죠.”, “왜 계속 한 가지 종류(장르)의 노래만 반복하죠? True Music Variety AFN ...”, “같이 탄 차에서 AFN이 나오고 있지 않나요? 그럼 차에서 내려서 걸어가세요.”, “Everyday sound's like weekend”등의 자부심에 약간의 개그 요소(?)가 첨가된 여러가지 멘트 등을 송출하기도 한다.

2010년대 들어 아주아주 드물게 K-POP을 틀어주는 경우도 있었다. 예를 들어 2012년에는 그 유명한 강남스타일이 몇 번 나온 적이 있었고, 2014년에는 2NE1의 "내가 제일 잘나가(I am the best)"를 틀어주기도 하였다(방송담당 한국인 카투사의 입김도 어느정도 작용해서 그랬을 수 있지만).

이후에는 오히려 K-POP이 빌보드 상위권에 종종 진입하게 되면서 듣는 것이 그리 어렵지는 않게 되었다.
2018년 BTS의 “Mic Drop (Steve Aoki Remix)”가 송출되었다.
2019년 BTS의 “작은 것들을 위한 시(Boy with Luv)”가 송출되었으며, 2020년 2월 경부터 7월 현재까지도 간헐적으로 송출된다.[51]
그 외에도 BTS의 전 세계적인 히트로 “FAKE LOVE”, “Make It Right (Feat. Lauv)” 등 곡 다수가 송출되기도 한다.
2020년 8월 경 BTS의 “Dynamite”가 송출되었다.
2020년 12월 경 BLACKPINK의 “Ice Cream (with Selena Gomez)”이 송출되었다.
2020년 12월 경 몬스타엑스의 “YOU CAN'T HOLD MY HEART”가 송출되었다.
2021년 1월 경 이달의소녀의 “Star (목소리 English Ver.)”가 송출되었다.
2021년 6월 경 BTS의 “Butter”가 송출되었다.
2021년 11월 경 Coldplay와 BTS의 “My Universe”가 송출되었다.
2021년 11월 경 리사(BLACKPINK)의 “MONEY”가 송출되었다.
2021년 12월 경 TWICE의 “The Feels”가 송출되었다.

이에 대한 여담으로 2021년 12월 27일 모종의 사유로 Humphreys 채널에서 컴퓨터가 다운되었을 때 처럼 방송의 음악에 렉이 발생하여서, 볼륨을 서서히 낮추고 땜방용인지 Kunsan 방송이 송출되었다. 이후 위에 나왔던 K-POP을 4연속[52] 및 텀을 두고 차례로[53] 송출하였다. 담당자가 위 문단을 보고 틀었나? 이에 더하여 무슨 사정에서인지, 얼마 지나지 않은 2021년 1월 14일에도 비슷한 증상으로 Humphreys 대신 Kunsan 방송이 한동안 송출되기도 하였다.

또한 매년 연말 크리스마스 시즌 한정으로 Seasonal 음악을 위주로 송출하며, 공식 웹사이트의 AFN 글로벌 채널 목록에서도 ‘AFN Holiday’이라는 Seasonal 음악 전용 글로벌 채널을 한시적으로 제공하고 있다.

한편 유튜브에도 채널이 있으며, 주로 주한미군들과 그 가족들의 생활이 담긴 비디오로 이루어져 있다. 이 채널을 통해서 한국 속의 미국(?)의 생활과 미군들이 본 한국의 모습을 볼 수 있다. (채널, 2014년 이전 채널)

전현무가 이 방송의 송출을 담당하는 부대에서 복무했다고 한다.

김도균이 자주 듣는 라디오 방송채널이기도 하다. #

전설의 타이거즈에 출연한 해태 타이거즈의 송유석, 이건열이 술회하기를 팀 선배 김봉연이 선수 시절부터 항상 방송을 청취하며 영어공부를 했다고 한다.
6. 방송 주파수[편집]

직접 차를 끌고온 미군들이 MW로 수신할때는 괌에서 수신할때 처럼 0 ~ 4㎑는 이전 숫자로 5 ~ 9㎑는 다음 숫자로 튜닝한다.[54]
주파수
출력
송신소
위치
AM 1530㎑[55]
5㎾
Camp Yongsan
서울 용산구 용산동2가
FM 102.7㎒[56]
5㎾
남산 송신소[57]
서울 중구 장충동2가 산14-69
AM 1197㎑
1㎾
Camp Casey
경기 동두천시 보산동
FM 88.3㎒
0.1㎾
AM 1161㎑
0.25㎾
Camp Red Cloud
경기 의정부시 가능1동
FM 88.5㎒
0.1㎾
AM 1359㎑[58]
1㎾
Osan Air Base
경기 평택시 신장동
FM 88.5㎒
0.03㎾
AM 1440㎑
5㎾[59]
Camp Humphreys
경기 평택시 팽성읍 대추리
FM 88.3㎒
0.05㎾
AM 1440㎑
0.25㎾
Camp Long
강원 원주시 태장2동
FM 88.3㎒[60]
0.05㎾
FM 88.1㎒
0.25㎾
Pier 8
부산 남구 감만1동
AM 1512㎑
0.25㎾
Chinhae Naval Base
경남 창원시 진해구 현동
FM 88.5㎒
0.05㎾
AM 1080㎑[61]
0.25㎾
Camp Walker
대구 남구 대명5동
FM 88.5㎒
1㎾
AM 1440㎑
5㎾[62]
Camp Carroll
경북 칠곡군 왜관읍 왜관리
FM 88.5㎒
0.05㎾
AM 1512㎑
0.25㎾
Camp Mujuk
경북 포항시 남구 오천읍 용덕리
FM 88.5㎒
0.05㎾
Kwangju Air Base
광주 광산구 신촌동
AM 1440㎑
1㎾
Kunsan Air Base
전북 군산시 옥서면 선연리
FM 88.5㎒
0.25㎾

[1] 용산 미군기지 철수로 서울 지역 송출 중단. AM 송출 중인 타 지역에서는 청취 가능.
[2] 2012년 5월 1일 송출 종료 이후 위성 단독송출중
[3] 아시다시피 대한민국의 지상파는 PAL-B/G를 채택한 독일에서 만든 Zweikanalton으로 송출했다.
[4] 2020년 하반기 즈음해서인지 공식 사이트의 웹 플레이어에서 기본으로 표시되는 ‘full player’에서는 재생되지 않고 있다. 이 경우 플레이어의 아래에 작은 글씨로 표시되는 ‘No audio? Switch to lite player’를 클릭하여 ‘lite player’로 전환하면 정상적으로 청취가 가능하다. 이후에는 브라우저에 쿠키가 저장되어 재접속시에도 자동으로 ‘lite player’로 표시된다.
[5] Country, Fans, Freedom, Gravity, Hot AC, Joe Radio, Legacy, Power Talk, The Voice 9개 채널로 구성
[6] AFN Europe은 이탈리아, 독일, 그리스, 베네룩스, 그리스, 터키, 바레인, 쿠바, 아소르스 제도, 북마리아나제도 지역의 16개 방송으로 구성되어 있다.
[7] 2000년대 이전까지 부산에서 잡히던 일본 방송과 더불어서 방송 프로그램 PD들이 참고했던 방송 채널이었다.
[8] 참고로 지금은 KBS1이 이 역할을 하고 있다(...). 무슨 소리냐면 북한과 중국 동북부 방송들에 편성되는 뉴스나 쇼 포맷은 KBS World를 통해 송출되는 프로그램 모양새와 똑같다(...).
[9] AFN은 당시 UPI(연합합동통신)와 ABC 방송에서 뉴스 소식을 받았었다.
[10] 1987년 6월 항쟁 때에도 KBS와 MBC 등 지상파 뉴스에서는 시위대가 경찰을 공격하거나 상점을 습격하고 기물을 부수는 등 일탈행위만을 보여주고 시위대를 진압하는 장면, 하다못해 최루탄이 발사되는 장면조차 보여준 일이 없으나, AFKN을 통해 방영되는 뉴스에서는 경찰의 진압 장면 및 최루탄 발사 장면을 집중적으로 보여주었다. 물론 동시에 외출자제령같은것도 보도했기도 했지만 말이다.
[11] 미국 애니메이션 뿐만 아니라 일본 애니메이션도 틀어주곤 했다.
[12] 초창기에는 미국에서 비디오 테이프나 필름을 그대로 가져와서 틀었기 때문에 광고도 그대로 나왔다고 하지만 장병들의 항의로 광고를 삭제하게 되었다는 후문이 있다. 다만 중간에 광고만 안 넣었을 뿐이지 미군이 현지에서 지켜야 될 수칙 같은 것은 방영했다.
[13] 물론 진짜 야동이나 에로영화 정도의 수위를 생각하면 곤란하다. 그렇지만 당시만 해도 반공 영화와 드라마를 제외하면(...) 성묘사에 대한 심의가 매우 엄격했고, 청소년들이 음란 비디오 같은 걸 구입해서 보기에도 수월치 않았던 시기라 그 만큼 인기가 높았다.
[14] 미국 본토는 이미 1950년대에 컬러방송을 시작했고, 1960년대에 컬러 TV가 널리 보급되었기 때문에 1970년대라면 미국에서도 컬러TV가 널리 퍼진 지 10여 년 정도 되었을 때다. 그래서 1970년대 초반에 이미 컬러 TV 시청에 익숙한 미군 초병이 한국으로 왔을 때 아직도 TV가 흑백으로 나오는 후진국으로 발령 났다면서 쇼크를 먹는 일이 많았기에(물론 시간이 지나면서 익숙해지기는 했지만) 당시 주한미군 입장에서 장병복지 차원에서 컬러방송 시작을 안 할래야 안 할 수가 없는 상황이었다. 한국 정부 입장이라면 얘기가 다르지만.
[15] 게다가 당시에는 애니메이션 쿼터제가 없었다.
[16] 참고로 세서미 스트리트의 경우 1981년 9월에서 1983년 1월까지, 일렉트릭 컴퍼니는 1983~1984년에 KBS2에서 방송한 전력이 있었으며, 방송 시간 대는 각각 토요일/일요일 아침 7시에 방영하였다. 나중에 심슨 가족과 스쿠비 두 시리즈도 MBC와 EBS에서 방영되기도 하였다.
[17] 러시아 연방의 블라디보스토크에서 송출하는 마야크 라디오방송(Радио Маяк)의 주파수와 같았다. 참고로 마야크 라디오 방송은 송신에 쓰이는 출력이 높았기 때문에 야간에 남한의 강원도에서 청취가 가능했지만 2013년 3월 14일부로 송출이 종료되었다. 또한 현재 남한에서 수신이 가능한 전러시아 국립 텔레비전 및 라디오 회사의 중파방송들(마야크 라디오방송과 스푸트니크 라디오방송과 러시아 라디오방송)은 모두 송출을 종료했다.
[18] 1996년에 옮겨졌긴 했으나 UHF화는 1980년대 후반부터 이미 추진하고 있었으며 유선방송화도 대안으로 거론되었다. 1988년 뉴스데스크 보도
[19] 2012년 5월부로 송출 종료.
[20] 2017년 10월 10일부로 송출종료
[21] VHF ch 2에서 UHF ch 34로 전환할때 음성다중방식 때문에 말이 많았다. 1996년 결과는 MTS로 결정났다.
[22] 일본에선 일부 기지에서 NTSC-M UHF ch 66으로 송출했었는데 애초에 NTSC-J는 UHF ch 62(M ch 63)까지가 끝이었다.
[23] NTSC-M과 NTSC-J의 채널 호환표는 이 문서 참고.
[24] 오키나와는 ch 8이였다. NTSC-J는 ch 6과 호환된다.
[25] 1990년대면 몰라도 2010년대에는 외국문화의 분별없는 침투라는 이유만으로 지상파 송출까지 중단할 이유가 거의 없을 것으로 보인다. 참고로 1990년대만 하더라도 지금에 비해 외국문화에 대한 태도가 좀더 보수적이었다. 하지만 당대 TV에 방영되는 애니 절대다수가 외제(특히 일본, 미국)인데다가 상당수 오락 프로그램의 포맷이 외국 것을 베껴먹었다는 불편한 진실.
[26] 저작권 문제도 있겠지만, 주한미군 편제 변경 문제도 있을 것으로 분석된다. 예를 들어 과거에는 같은 평택에 있는 오산공군기지와 캠프 험프리스가 똑같이 Area III에 속했지만, 현재는 캠프 험프리스는 Area III이고, 오산AB는 Area V에 속한다. 평택과 함께 주한미군 양대 허브에 속하는 대구의 미군기지도 예전에는 캠프 워커, 캠프 헨리 등과 대구AB가 같은 Area IV에 속했지만, 현재는 캠프워커 등은 Area IV에 그대로 속해 있으나 대구AB만은 오산AB와 마찬가지로 Area V에 속한다. 즉 이는 같은 대구에 있는 미군부대라도 캠프 워커, 캠프 헨리 등지에 주둔중인 미육군은 Area IV를 관할하는 AFN 대구지국의 방송을, 대구AB에 주둔 중인 미공군은 Area V를 관할하는 AFN 오산지국의 방송을 시청하고 있을 가능성도 있다는 것이다.
[27] 감도가 좋은 라디오를 이용하면 용산에서 12㎞ 떨어져 있는 경기도 광명시 일부 지역에서도 수신은 힘겹게 가능했지만, 수신상태는 장담할 수 없었다. 도림천 일대까지는 그런대로 잡혔던 편이다. 경기도 성남시 북부에서도 실내 액티브 루프 안테나로 수신이 가능했었다.
[28] 549kHz로 송출하던 시절에는 수신이 가능한 지역의 범위가 지금보다 훨씬 더 넓었다고 한다. 중파 대역 전파의 특성상 주파수가 높을수록 지표파 감쇄율이 올라가기 때문이었다. 여기서 한때 서울지역 AFKN AM 주파수가 549kHz였다는 것은 아마도 2013년 3월까지 남한의 강원도에서 수신이 가능한 소비에트 연방과 러시아 연방의 마야크 라디오방송(Радио Маяк)을 청취하지 못하게 하려는 의도라고 추정된다.
[29] KBS 제1라디오의 AM 방송은 출력이 500㎾나 되며, MBC 라디오와 SBS 라디오는 50㎾로 송출되고 있다.
[30] 서울지역 FM 방송 송신출력이 보통 10㎾인데, 그것의 절반이다. 이외에도 수도권의 종교/특수방송이나 지방에서는 대부분 3~5㎾로 송신한다.
[31] 다만 안양, 과천, 분당, 의정부 북부 이북 같은 지역은 관악산과 청계산, 북한산, 도봉산, 수락산이 가로막기에 기대를 안하는 것이 좋다. 하지만 평택, 송탄, 동두천 등지는 미군기지가 주둔하는 곳이므로 다른 주파수로 수신이 가능하다. 충주, 제천 일부 지역에서도 서울 남산전파 수신이 가능했는데, 청주방송의 제천 용두산중계소가 2013년 8월 23일부터 102.7MHz로 송출을 시작하면서 수신이 안 되게 되었다.
[32] 사실 하얄리아 캠프가 폐쇄되었지만 부산에서는 아직까지 미군 시설이 있다. 8부두가 미군 전용 부두이고, 동구 범일동 매축지마을 근처에 미군 보급창이 있다.
[33] 그 부산영어방송도 기장과 녹산에 소출력 주파수가 있어서 다행이지 원래 주파수 가지고는 서부산에서 잘 안들린다. 게다가 불행하게도 창원 지역의 영어방송을 개국한다던지 부산영어방송을 경상남도로 확대할 계획은 없다.
[34] 미국은 예전부터 비전투인력 소개작전으로 유사시 미국 국적자들을 대피시키는 시스템이 갖춰져 있다. 1975년 4월의 사이공 철수작전에 활용한 AFVN이 대표적인 모범인데, 만약에 한반도에서 전쟁이 발발한다면 철수작전에 활용하도록 치밀한 대책을 마련해 놓았다.
[35] 아예 송신장비까지 평택기지로 뜯어갔다!
[36] 2018년 12월 14일 대구에 거주하는 모 라디오 수신 카페 회원이 수신 확인.
[37] 미국 시선에서 한국 수도권은 최전방(접적지역), 나머지 한반도 남부는 전방, 일본 열도는 제1 후방, 미국 본토는 제2 후방으로 본다.
[38] The Head and the Heart - All We Ever Knew # (2016), The Revivalists - Wish I Knew You # (2017), LP - Lost On You # (2017), Mumford & Sons - Guiding Light # (2018), lovelytheband - broken # (2018), Foster The People - Sit Next to Me # (2018), for KING & COUNTRY - joy. # (2018), lovelytheband - loneliness for love # (2020), Atlas Genius - Stockholm (2020) 등
[39] 말 그대로 캠프 공지사항으로 GATE 개방 폐쇄 관련, 최근에는 코로나 방역 관련 공지 등 다양하다.
[40] 유아용 카시트 올바르게 장착하기, 어린이에게 안전벨트를 채울 때 까지 포기하지 마세요, 음주운전 하지 마세요. 등의 NHTSA 캠페인
[41] 부대 내에서 자전거도 STOP sign을 똑같이 지켜야 합니다(regulation xxx), 성폭력 관련 캠페인 등
[42] 소득 전부를 사용하지 말고 저축 습관화, 신용카드 과도한 사용(한도) 지양 등
[43] 한국어 교실, 겨울철 스키장 왕복 교통편 등
[44] 참여하는 DJ 중에 Don Diablo도 있다. 본인 신곡 Momentum을 리믹스에 열심히 활용하였다. Right Here Right Now
[45] 가령 고려대학교, 연세대학교(전부 서울 본교)에 있는 ALC라는 영어동아리가 AFKN을 들으며 영어 공부했던 선배들로부터 시작된 것이다. 이름 약자부터가 AFKN Listeners' Club이다.
[46] 영화 <기생충>으로 아카데미 4관왕을 휩쓴 봉준호 감독은 영화를 보고 싶어도 어머니의 만류로 극장에 갈 수 없었지만 AFKN에서 방영하는 영화들을 주로 보면서 청소년기를 보내면서 몸속의 영화 세포를 만들었다고 했고, 서태지와 아이들의 이주노나 양현석, 가수 박진영 등 90년대 춤꾼으로 이름을 날렸던 가수들은 AFKN을 통해 춤을 배웠다고 한다. 애니메이션, 영화, 쇼오락 프로그램, 뉴스, 스포츠에 이르기까지 다양한 볼거리로 ‘AFKN 키드’가 등장할 정도였다. AFKN을 보면서 영어공부를 한 청소년들 중에는 현재 영어강사도 있을 정도다. 2020.05.26 - [한국 대중문화의 결정적 사건들] 우리에게 AFKN은 무엇이었나?
[47] 1990년대 중반까지만 해도 미국이나 영미권의 방송물을 직접 접할 기회가 지금에 비해 훨씬 적었다. 그 당시에는 AFKN 수신 말고는 위성방송이나 단파방송밖에 없었다. 거기다가 1993년까지는 단파방송을 청취하려면 아마추어 무선 자격증이 필요했다.
[48] 이 때부터 가입자 증가로 인해 스크램블과 셋톱박스 없이 RF필터로 채널을 제한하기 시작했고 4,400원/월의 의무형 상품이랑 6,600원~8,800원/월 정도의 경제형&보급형 상품과 8,800원~12,000원/월의 고급형 상품이 출시되었다.
[49] 대표적으로 Kidd Kraddick in the Morning이 있다. 이름에서 알 수 있다시피 원래 미국 시간으로는 아침방송이다.(...)
[50] 사실 이건 본토에서 FM방송은 음악방송만 AM(중파)은 토크쇼와 뉴스를 편성하는 표준방송을 하는 편성정책을 따른 것이다.
[51] 사실 최신 POP 송출 빈도가 높은 것일 뿐, 그 외에도 여러세대에 걸친 전 세계적인 히트곡들을 골고루 송출하는 편이기 때문에, 차트 순위권 입성하였던 곡들은 이후에도 꾸준히 송출되는 편이다.
[52] The Feels → Star (목소리 English Ver.) → Ice Cream (with Selena Gomez) → YOU CAN'T HOLD MY HEART
[53] Mic Drop (Steve Aoki Remix), 심지어 2012년의 강남스타일까지(!)
[54] 이유는 미국 내수용 차량은 미국 주파수 계획에 따라 530 ~ 1710㎑(×10㎑)인데 한국을 비롯한 아시아, 유럽, 아프리카 지역은 제네바 계획(1978년 가을 적용)으로 인해 522 ~ 1620㎑(×9㎑)이기 때문이다. 물론 한국에서 차를 구매한다면 상관없는 이야기다. 반대로, 대한민국이나 일본 등지에서 내수용으로 만들어진 AM(MW)수신기로 미국에서는 저 순서의 역방향으로 잡아야 한다. 라디오 코리아 참조.
[55] 원래는 549㎑였다가 1996년에 1530㎑로 변경되었으며 2017년 10월 10일부로 종료되었다.
[56] 가끔 장비 점검 등의 목적으로 예고도 없이 수시간 동안 휴지할 때가 있다.
[57] N서울타워나 그 옆에 있는 송신소가 아닌 주한미군 자체 남산 송신소. 캠프 모스라는 이름도 있는 소규모 통신기지이다. N서울타워와는 좀 떨어져 있다. 스튜디오가 용산 미군기지에서 철수하여 현재는 평택 Humphreys판을 그대로 재송출.
[58] 평택 험프리 기지의 1440㎑에 통폐합된 것으로 추정.
[59] 원래는 1kW였다가 용산에 있던 송신기를 평택으로 옮긴 이후로 5kW로 증강되었을 것으로 추정. 낮에는 전파가 청주, 대전까지 도달한다. 밤이 되면 전리층 반사현상으로 서울에서도 청취 가능.
[60] 2020년 7월 기준 원주역에서도 아예 수신되지 않아 폐소된 것으로 확인되었다.
[61] 1998~1999년쯤 폐소한 것으로 추정된다. 그 이유는 저 무렵까지 캠프워커 영내에 마스트형 철탑이 설치되어 있었기 때문이다. 이전 문서에서 1440kHz라고 쓰여 있었던 것은 대구에서 왜관 신호를 잡은 것으로 보인다.
[62] 낮시간에도 대구광역시에서 수신이 가능하다.

https://m.blog.naver.com/rla99tjr/221862232097

 

[학습] pom.xml 이란..?

저번 시간에 학습했던 web.xml에 이어서 이번 시간에 학습해볼 내용은 pom.xml입니다. pom.xml Spring Pr...

blog.naver.com

https://develop88.tistory.com/entry/Spring40-%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%A0%EB%95%8C-webxml%EA%B3%BC-jsp%ED%8C%8C%EC%9D%BC-%EC%9D%B8%EC%BD%94%EB%94%A9

 

Spring4.0 스프링할때 web.xml과 jsp파일 인코딩

  encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encodingFilter /* 위에 web.xml에도 맵핑시켜주고 아래 jsp파일은 자신꺼에서 euc-kr을 몽땅 utf-8로 바꾸면 일단 ok

develop88.tistory.com

 

pnpm install                                 

@vaadin/application-theme-plugin is linked to /Users/junhoha/Documents/workspace-spring-tool-suite-4-4.14.0.RELEASE/demo/node_modules from /Users/junhoha/Documents/workspace-spring-tool-suite-4-4.14.0.RELEASE/demo/target/plugins/application-theme-plugin

@vaadin/build-status-plugin is linked to /Users/junhoha/Documents/workspace-spring-tool-suite-4-4.14.0.RELEASE/demo/node_modules from /Users/junhoha/Documents/workspace-spring-tool-suite-4-4.14.0.RELEASE/demo/target/plugins/build-status-plugin

@vaadin/theme-live-reload-plugin is linked to /Users/junhoha/Documents/workspace-spring-tool-suite-4-4.14.0.RELEASE/demo/node_modules from /Users/junhoha/Documents/workspace-spring-tool-suite-4-4.14.0.RELEASE/demo/target/plugins/theme-live-reload-plugin

@vaadin/theme-loader is linked to /Users/junhoha/Documents/workspace-spring-tool-suite-4-4.14.0.RELEASE/demo/node_modules from /Users/junhoha/Documents/workspace-spring-tool-suite-4-4.14.0.RELEASE/demo/target/plugins/theme-loader

@vaadin/flow-frontend is linked to /Users/junhoha/Documents/workspace-spring-tool-suite-4-4.14.0.RELEASE/demo/node_modules from /Users/junhoha/Documents/workspace-spring-tool-suite-4-4.14.0.RELEASE/demo/target/flow-frontend

Already up-to-date

Progress: resolved 417, reused 417, downloaded 0, added 0, done

=================================================================

npm install --yes --quiet pnpm@5.18.10 --shamefully-hoist=true --ignore-scripts        

 

 

npm install -g flowserve                                                                                                                                           

npm WARN deprecated ecstatic@3.3.2: This package is unmaintained and deprecated. See the GH Issue 259.

 

added 56 packages, and audited 57 packages in 3s

 

13 packages are looking for funding

  run `npm fund` for details

 

2 moderate severity vulnerabilities

 

To address all issues (including breaking changes), run:

  npm audit fix --force

 

Run `npm audit` for details.

 

http://www.yes24.com/Product/Goods/3516046

 

실전 OSGi & Spring DM - YES24

자바에 대해서 초급 이상의 지식이 있는 개발자를 대상으로 OSGi를 설명한 책이다. OSGi를 배우는 도중에 발생하는 문제들에 대해서 가능한 많이 설명하고자 노력한 이 책은 OSGi 프레임워크의 기

www.yes24.com

원문: http://beyondj2ee.egloos.com/293629

 

BeyondJ2EE

 

beyondj2ee.egloos.com

최근에 제가 가장 관심을 갖고 있는 분야가 OSGi 입니다.
(특히 Spring DM Server ^^)
OSGi는 오래전부터 그들만의 리그 처럼 묵묵히 조용히 지내고 있었던
기술 이였습니다. 그러다가 최근에 스마트폰 광풍에 힘입어
구글 안드로이가 출시되면서 급 호감을 갖게 되었습니다.
(구글 안드로이드는 OSGi 플랫폼으로 구성되었죠)
거기다가 소형 가전기기 전용 플랫폼이였던 OSGi가
SpringSource에서 차세대 J2EE 플랫폼으로
Spring DM Server를 릴리즈 함으로 이제는 반드시
알아야 할 기술이 되었습니다.
그러면 과연 OSGi는 어느날 갑자기 안드로메다에서 온 기술일까요?
일반 블로그나 사이트에서 OSGi 관련 내용을 보면 개괄적인 내용과
다소 쉽게 이해가 가지 않은 개념(Bundle,Activator,Service)들에
대한 이론적 설명이 많았습니다.
그래서 제가 OSGi를 공부하면서 detail한 설명 보다
개발자로써 조금이나마 전체적인 맥을 잡고 OSGi에
대해서 두려움 없이 접근하시는데 도움이 되고자 말씀
드립니다.

    * OSGi's Feature

Apress Spring DM Server를 보면 아래와 같이 OSGi 특징에 대해서
기술되어 있습니다.

(1) OSGi는 전체 시스템를 restart 하지 않고 각가의 모듈을 동적으로 추가,변경,삭제를
할 수 있습니다.

(2) OSGi는 전체 시스템에 버전이 각각 다른 모듈을 동시에 사용 할 수 있습니다.

(3) OSGi는 각 모듈관에 의존성을 관리 합니다.

(4) OSGi는 SOA처럼 각 모듈을 서비스 레지스터리에 등록해서 필요한 한 곳에서
가져다가 쉽게 재사용 할 수 있습니다.


    * How to Use OSGi

위에서 저도 모르게 OSGi에 대한 개괄적인 설명을 했네요 쩝.
자 이제 글면 과연 OSGi를 어떻게 사용하는지 말씀 드리겠습니다.
외국에서는 OSGi Container라고 얘기를 합니다.
Container라함은 JVM 상에서 오브젝트에 대해서 생명주기
를 관리하는 서버라고 생각 하시면 됩니다.
비슷한 것들이 Servlet Container,EJB Container들이 있습니다.
(급 어려운얘기? Sorry)
쉽게 말해서 Servlet Container에서 동작하는 모듈을 만드려면
그냥 만드는 것이 아니라 Servlet을 만들어야만 동작하듯
OSGi Container도 마찬가지로 Bundle이라는 것을 만들어서 동작을
합니다.
OSGi 기동 방법은
java -jar org.eclipse.osgi._3.4.3....jar -console
이렇게 컨테이너를 띄우고 번들들을 인식하도록 하면 Container가
뜨면서 번들을 초기화 합니다. 마치 Servlet들을 초기화
하듯이 말이죠
이렇게 OSGi Container가 뜨고 나면 콘솔을 통해서 현재 등록된
번들의 상태를 화면을 통해서 볼 수가 있습니다.
마치 DOS상에서 커맨드를 치듯이 말이죠.
명령어를 통해서 번들을 추가하고,수정하고,삭제하고
즉 정리 하면 서블릿 Container 처럼 OSGi Container를
실행하고 OSGi에서 인식할수 있는 bundle 스펙을
구현해서 넣으면 됩니다. 그리고 위에서 동적으로
변경할수 있다는 얘기들은 마치 Servlet를 동적으로 추가,변경,삭제
할 수있다는 얘기와 같습니다.

    * OSGi Container 종류

Servlet 컨테이너도 jetty,tomcat,jboss 처럼 다양하게 있듯이
OSGi 컨테이너도 다양하게 있습니다.
Eclipse에서 제공하는 equinox,Apache에서 제공하는 Felix등
있습니다.
기본적으로 OSGi 스펙들을 구현한 Container들이며
자기 입맛에 맛는 Container를 사용 하시면 됩니다.
저는 개인적으로 아무래도 equinox를 사용합니다.
(이유인즉 spring dm이 이넘을 사용하거든요..)

    * Spring dm Server

SpringSource에서 OSGi 기반 J2EE 플랫폼이 Spring dm 입니다.
제가 정말 궁금한 것은 어떻게 OSGi가 어떻게 웹 어플리케이션을
지원할까 하는 문제 입니다. 물론 OSGi 자체에서 제공하는
Http 서비스가 있습니다.
하지만 제약사항이 많고 다소 허접합니다. 이유인즉
war 형식을 지원하지 않습니다. 아무래도 가전기기에 올라가다
보니 http 기능을 최소화 한것 같습니다.
그래서 우리가 사용하는 war 형태의 어플리케이션을
구동하기를 원합니다.
OSGi를 모른 상태에서 생각이 톰캣안에서 OSGi를 넣는건가
이런 생각을 했습니다.
하지만 그런 개념이 아니였습니다.
대장은 OSGi가 일단 구동 합니다. 그리고 톰캣이나 jetty 서버를
번들화 합니다.(이건 이미 spring source respository에 maven
형태로 되어 있습니다.)
그리고 내가 만든 웹 어플을 번들로 추가 합니다.
즉 OSGi 컨테이너가 구동하고
tomcat server bundle,my war bundle
이렇게 구동합니다. tomcat server bundle은 현재 번들 중에서
패키징이 "war"이거나 "WEB-INF" 디렉토리가 있으면
찾아서 디플로이 합니다.
모든게 OSGi 컨테이너안에서 이루어 집니다.

    * 마무리

참 제가 생각해도 주저리 주저리 적었지만 OSGi에 대해서
블러깅 한다는게 정말 한계가 있네요
앞으로 OSGi 관련해서 틈틈히 블로깅 하려고 합니다.
아무튼 OSGi 컨테이너를 사용하고 거기에 동작하는 모듈 스펙은
bundle이며 컨테이너에서 동작하기 때문에 당연히 생명주기가 있겠죠
생명주기에 맞게 처리 하고 콘솔을 통해서 restart 없이
모듈상태를 바꾸고 이게 대부분이라고 할 수있습니다.
이런 관점으로 OSGi를 생각하고 접근 하시면 좀더 편하게
이해 하실것 같습니다.
우리나라에서 "OSGi & Spring DM" 책이 출간 되었습니다.
개인적으로 이책에 도움을 많이 받았습니다.
소스 중심이라서 좀 지루할 수 있지만 예제가 정말 잘되어
있어서 좋습니다.
꼭 읽어 보시기 바랍니다.

 

 pnpm install                             

Downloading registry.npmjs.org/typescript/4.5.3: 11.3 MB/11.3 MB, done

Downloading registry.npmjs.org/highcharts/9.2.2: 10.4 MB/10.4 MB, done

 WARN  deprecated core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.

 WARN  deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated

 WARN  deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.

 WARN  deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies

 WARN  deprecated core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.

 WARN  deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated

 WARN  deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated

 WARN  deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated

 WARN  deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.

 WARN  GET https://registry.npmjs.org/@mapbox%2Funitbezier error (ERR_SOCKET_TIMEOUT). Will retry in 10 seconds. 2 retries left.

Packages: +1103

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Packages are hard linked from the content-addressable store to the virtual store.

  Content-addressable store is at: /Users/junhoha/.pnpm-store/v3

  Virtual store is at:             node_modules/.pnpm

node_modules/.pnpm/fsevents@1.2.13/node_modules/fsevents: Running install script...

node_modules/.pnpm/core-js@2.6.12/node_modules/core-js: Running postinstall script...

node_modules/.pnpm/fsevents@1.2.13/node_modules/fsevents: Running install script, failed in 125ms (skipped as optional)modules/core-js: Running postinstall script, done in 121msm/@vaadin+vaadin-usage-statistics@2.1.2/node_modules/@vaadin/vanode_modules/.pnpm/esbuild@0.12.29/node_modules/esbuild: Running postinstall script, done in 533ms 1103, reused 0, downloaded 1103, added 1103, done

 

dependencies:

+ @polymer/iron-icon 3.0.1

+ @polymer/iron-iconset-svg 3.0.1

+ @polymer/iron-list 3.1.0

+ @polymer/iron-meta 3.0.1

+ @polymer/iron-resizable-behavior 3.0.1

+ @polymer/polymer 3.4.1

+ @vaadin/accordion 23.0.3

+ @vaadin/app-layout 23.0.3

+ @vaadin/avatar 23.0.3

+ @vaadin/avatar-group 23.0.3

+ @vaadin/board 23.0.3

+ @vaadin/bundles 23.0.3

+ @vaadin/button 23.0.3

+ @vaadin/charts 23.0.3

+ @vaadin/checkbox 23.0.3

+ @vaadin/checkbox-group 23.0.3

+ @vaadin/combo-box 23.0.3

+ @vaadin/common-frontend 0.0.17

+ @vaadin/component-base 23.0.3

+ @vaadin/confirm-dialog 23.0.3

+ @vaadin/context-menu 23.0.3

+ @vaadin/cookie-consent 23.0.3

+ @vaadin/crud 23.0.3

+ @vaadin/custom-field 23.0.3

+ @vaadin/date-picker 23.0.3

+ @vaadin/date-time-picker 23.0.3

+ @vaadin/details 23.0.3

+ @vaadin/dialog 23.0.3

+ @vaadin/email-field 23.0.3

+ @vaadin/field-base 23.0.3

+ @vaadin/field-highlighter 23.0.3

+ @vaadin/flow-frontend 1.0.0 <- target/flow-frontend

+ @vaadin/form-layout 23.0.3

+ @vaadin/grid 23.0.3

+ @vaadin/grid-pro 23.0.3

+ @vaadin/horizontal-layout 23.0.3

+ @vaadin/icon 23.0.3

+ @vaadin/icons 23.0.3

+ @vaadin/input-container 23.0.3

+ @vaadin/integer-field 23.0.3

+ @vaadin/item 23.0.3

+ @vaadin/list-box 23.0.3

+ @vaadin/login 23.0.3

+ @vaadin/map 23.0.3

+ @vaadin/menu-bar 23.0.3

+ @vaadin/message-input 23.0.3

+ @vaadin/message-list 23.0.3

+ @vaadin/notification 23.0.3

+ @vaadin/number-field 23.0.3

+ @vaadin/password-field 23.0.3

+ @vaadin/polymer-legacy-adapter 23.0.3

+ @vaadin/progress-bar 23.0.3

+ @vaadin/radio-group 23.0.3

+ @vaadin/rich-text-editor 23.0.3

+ @vaadin/router 1.7.4

+ @vaadin/scroller 23.0.3

+ @vaadin/select 23.0.3

+ @vaadin/split-layout 23.0.3

+ @vaadin/tabs 23.0.3

+ @vaadin/text-area 23.0.3

+ @vaadin/text-field 23.0.3

+ @vaadin/time-picker 23.0.3

+ @vaadin/upload 23.0.3

+ @vaadin/vaadin-accordion 23.0.3

+ @vaadin/vaadin-app-layout 23.0.3

+ @vaadin/vaadin-avatar 23.0.3

+ @vaadin/vaadin-board 23.0.3

+ @vaadin/vaadin-button 23.0.3

+ @vaadin/vaadin-charts 23.0.3

+ @vaadin/vaadin-checkbox 23.0.3

+ @vaadin/vaadin-combo-box 23.0.3

+ @vaadin/vaadin-confirm-dialog 23.0.3

+ @vaadin/vaadin-context-menu 23.0.3

+ @vaadin/vaadin-cookie-consent 23.0.3

+ @vaadin/vaadin-crud 23.0.3

+ @vaadin/vaadin-custom-field 23.0.3

+ @vaadin/vaadin-date-picker 23.0.3

+ @vaadin/vaadin-date-time-picker 23.0.3

+ @vaadin/vaadin-details 23.0.3

+ @vaadin/vaadin-development-mode-detector 2.0.5

+ @vaadin/vaadin-dialog 23.0.3

+ @vaadin/vaadin-form-layout 23.0.3

+ @vaadin/vaadin-grid 23.0.3

+ @vaadin/vaadin-grid-pro 23.0.3

+ @vaadin/vaadin-icon 23.0.3

+ @vaadin/vaadin-icons 23.0.3

+ @vaadin/vaadin-item 23.0.3

+ @vaadin/vaadin-list-box 23.0.3

+ @vaadin/vaadin-list-mixin 23.0.3

+ @vaadin/vaadin-login 23.0.3

+ @vaadin/vaadin-lumo-styles 23.0.3

+ @vaadin/vaadin-material-styles 23.0.3

+ @vaadin/vaadin-menu-bar 23.0.3

+ @vaadin/vaadin-messages 23.0.3

+ @vaadin/vaadin-notification 23.0.3

+ @vaadin/vaadin-ordered-layout 23.0.3

+ @vaadin/vaadin-overlay 23.0.3

+ @vaadin/vaadin-progress-bar 23.0.3

+ @vaadin/vaadin-radio-button 23.0.3

+ @vaadin/vaadin-rich-text-editor 23.0.3

+ @vaadin/vaadin-select 23.0.3

+ @vaadin/vaadin-split-layout 23.0.3

+ @vaadin/vaadin-tabs 23.0.3

+ @vaadin/vaadin-template-renderer 23.0.3

+ @vaadin/vaadin-text-field 23.0.3

+ @vaadin/vaadin-themable-mixin 23.0.3

+ @vaadin/vaadin-time-picker 23.0.3

+ @vaadin/vaadin-upload 23.0.3

+ @vaadin/vaadin-usage-statistics 2.1.2

+ @vaadin/vaadin-virtual-list 23.0.3

+ @vaadin/vertical-layout 23.0.3

+ @vaadin/virtual-list 23.0.3

+ construct-style-sheets-polyfill 3.0.4 (3.1.0 is available)

+ date-fns 2.23.0 (2.28.0 is available)

+ lit 2.1.4 (2.2.1 is available)

 

devDependencies:

+ @vaadin/application-theme-plugin 0.4.2 <- target/plugins/application-theme-plugin

+ @vaadin/build-status-plugin 1.0.0 <- target/plugins/build-status-plugin

+ @vaadin/theme-live-reload-plugin 2.0.0 <- target/plugins/theme-live-reload-plugin

+ @vaadin/theme-loader 0.0.4 <- target/plugins/theme-loader

+ chokidar 3.5.3

+ compression-webpack-plugin 4.0.1 (9.2.0 is available)

+ css-loader 5.2.7 (6.7.1 is available)

+ esbuild-loader 2.15.1 (2.18.0 is available)

+ extra-watch-webpack-plugin 1.0.3

+ extract-loader 5.1.0

+ file-loader 6.2.0

+ fork-ts-checker-webpack-plugin 6.2.1 (7.2.1 is available)

+ glob 7.1.6 (7.2.0 is available)

+ html-webpack-plugin 4.5.1 (5.5.0 is available)

+ lit-css-loader 0.1.0 (1.2.2 is available)

+ loader-utils 2.0.0 (3.2.0 is available)

+ typescript 4.5.3 (4.6.3 is available)

+ webpack 4.46.0 (5.70.0 is available)

+ webpack-cli 4.9.2

+ webpack-dev-server 4.7.4

+ webpack-merge 4.2.2 (5.8.0 is available)

+ workbox-core 6.5.0 (6.5.2 is available)

+ workbox-precaching 6.5.0 (6.5.2 is available)

+ workbox-webpack-plugin 6.5.0 (6.5.2 is available)

eureka.client.register-with-eureka=false

eureka.client.fetch-registry=false

npm install

 

||

 

 

pom.xml

 

<build>

<plugins>

<plugin>

<groupId>com.vaadin</groupId>

<artifactId>vaadin-maven-plugin</artifactId>

<version>${vaadin.version}</version>

<executions>

<execution>

<goals>

<goal>prepare-frontend</goal>

</goals>

</execution>

</executions>

</plugin>

=====================================================================================

출처 : https://www.cleancoder.dev/package-manager-history/

pnpm

 

2017년 1월 그렇게 pnpm이 세상에 나오게 된다. pnpm 은 npm v2에서 사용하던 패키지 처리방식을 차용하기로 하는데, 각 패키지가 각자의 node_modules 를 가지는 구조이다. 대신, npm 처럼 깊어지진 않고 symbolic link 를 사용해서 플랫하게 처리 하여 완전한 플랫형 구조를 가지게 된다.

=========================================================================

curl -fsSL https://get.pnpm.io/install.sh | sh -

source .zshrc

pnpm install

 

-Dvaadin.pnpm.enable=true

 

 

 

npm i -g public-ip                    

 

added 40 packages, and audited 41 packages in 5s

 

10 packages are looking for funding

  run `npm fund` for details

 

found 0 vulnerabilities

static/index.html

 

||

 

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

 

 sudo vim /etc/hosts  

/etc/hosts에서

#::1             localhost 

처럼 주석 처리.

 

 

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Tue Mar 29 08:29:45 KST 2022
There was an unexpected error (type=Internal Server Error, status=500).
Can't assign requested address
java.net.BindException: Can't assign requested address at java.base/sun.nio.ch.Net.connect0(Native Method) at java.base/sun.nio.ch.Net.connect(Net.java:579) at java.base/sun.nio.ch.Net.connect(Net.java:568) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588) at java.base/java.net.Socket.connect(Socket.java:633) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:498) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:603) at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:246) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:351) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:373) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1309) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1242) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1128) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1057) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529) at com.vaadin.base.devserver.AbstractDevServerRunner.serveDevModeRequest(AbstractDevServerRunner.java:716) at com.vaadin.flow.server.StaticFileServer.serveStaticResource(StaticFileServer.java:243) at com.vaadin.flow.server.VaadinServlet.serveStaticOrWebJarRequest(VaadinServlet.java:331) at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:286) at com.vaadin.flow.spring.SpringServlet.service(SpringServlet.java:109) at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:711) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:353) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:313) at org.springframework.web.servlet.mvc.ServletForwardingController.handleRequestInternal(ServletForwardingController.java:141) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:51) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:833)
    1. Clean Code
    2. 시크릿코드 : SpringBoot/JPA - 컨트롤러 구현
    3. 시크릿 코드 : 프론트엔드 UI 컴포넌트편
    4. The RED : 김영하 작가의 내 안의 숨은 이야기를 찾아 쓰는 법
    5.  

'will be deleted.' 카테고리의 다른 글

얻기 힘든 하드웨어 정보  (0) 2023.12.23
서울 평택 FM 102.7  (0) 2022.03.30
음악 저작권 예외 국가  (0) 2022.03.19
40대 아재 - 현대가 현대했네요.  (0) 2021.10.15
rtx 3090 온도 측정  (0) 2020.11.06

누아투, 카메룬, 니카라과, 스위스, 그리스, 스페인, 아이티, 괌, 엘살바도르, 부르키나파소, 부탄, 스리랑카, 피지, 아메리칸 사모아, 슬로베니아, 파라과이, 홍콩, 루마니아, 아제르바이잔, 알제리, 카타르, 노퍽섬, 페루, 퀴라소, 프랑스, 예멘, 쿠바, 지부티, 터크스 케이커스 제도, 미국, 적도 기니, 몰도바, 스웨덴, 우크라이나, 스발바르제도-얀마웬섬, 리히텐슈타인, 도미니카, 크로아티아, 노르웨이, 세인트빈센트그레나딘, 트리니다드 토바고, 미국령 버진아일랜드, 볼리비아, 프랑스 남부 지방, 투르크메니스탄, 마요트, 콜롬비아, 쿡 제도, 케냐, 아프가니스탄, 오만, 바티칸 시국, 팔라우, 아랍에미리트, 슬로바키아, 짐바브웨, 포클랜드 제도(말비나스 군도), 이스라엘, 과테말라, 안도라, 키프로스, 중국, 나미비아, 니제르, 사우디아라비아, 생피에르 미클롱, 팔레스타인, 폴란드, 소말리아, 북마케도니아, 중앙 아프리카 공화국, 핀란드, 브루나이, 포르투갈, 모잠비크, 세인트헬레나, 토켈라우, 모나코, 알바니아, 에스와티니, 오스트레일리아, 신트마르턴, 뉴칼레도니아, 칠레, 솔로몬 제도, 자메이카, 리투아니아, 멕시코, 터키, 온두라스, 벨기에, 아일랜드, 과들루프, 이집트, 왈리스-푸투나 제도, 그레나다, 나우루, 탄자니아, 파나마, 수리남, 앵귈라, 에콰도르, 프랑스령 폴리네시아, 영국, 몽골, 가봉, 부베섬, 카보베르데, 이란, 케이맨 제도, 베냉, 코코스 제도, 상투메 프린시페, 영국령 버진아일랜드, 라오스, 덴마크, 말라위, 헝가리, 바베이도스, 가이아나, 모리셔스, 쿠웨이트, 앙골라, 토고, 바레인, 프랑스령 기아나, 산마리노, 콩고-킨샤사, 도미니카 공화국, 에스토니아, 몰타, 가나, 통가, 보츠와나, 일본, 마다가스카르, 룩셈부르크, 콩고-브라자빌, 크리스마스섬, 남극 대륙, 대한민국, 코트디부아르, 인도, 레바논, 라트비아, 이탈리아, 에티오피아, 투발루, 요르단, 부룬디, 캐나다, 북마리아나제도, 기니비사우, 타지키스탄, 브라질, 세이셸, 아이슬란드, 그린란드, 차드, 아르메니아, 대만, 세네갈, 보스니아 헤르체고비나, 아루바, 체코, 서사하라, 코스타리카, 아르헨티나, 이라크, 핏케언 제도, 네팔, 레소토, 인도네시아, 레위니옹, 네덜란드, 에리트리아, 잠비아, 르완다, 감비아, 리비아, 버뮤다, 불가리아, 우즈베키스탄, 마르티니크, 기니, 시에라리온, 세인트키츠 네비스, 방글라데시, 조지아, 필리핀, 니우에, 튀니지, 베네수엘라, 키리바시, 나이지리아, 라이베리아, 키르기스스탄, 몰디브, 말레이시아, 우루과이, 베트남, 지브롤터, 벨리즈, 싱가포르, 몬트세라트, 파푸아뉴기니, 미크로네시아, 카자흐스탄, 벨라루스, 페로 제도, 사모아, 세인트루시아, 우간다, 올란드 제도, 미얀마, 모리타니, 뉴질랜드, 허드 맥도널드 제도, 마카오, 바하마, 푸에르토리코, 영국령 인도양 식민지, 북한, 마셜 제도, 파키스탄, 말리, 러시아, 사우스조지아 사우스샌드위치 제도

workbench.action.nextEditor  
]
 
workbench.action.previousEditor  
[
 
workbench.action.togglePanel  
Y
 
workbench.action.quickOpen  
O
 
workbench.action.navigateBack  
 
workbench.action.navigateForward  
 
workbench.view.explorer  
1
 
workbench.view.search  
2
 
workbench.view.scm  
3
 
workbench.view.debug  
4
 
workbench.view.extensions  
5
 
workbench.action.debug.start  
R
 
workbench.action.debug.restart  
R
 
workbench.action.debug.stop  
.
 
workbench.action.tasks.build  
B
 
workbench.action.tasks.test  
U
 
workbench.action.toggleSidebarVisibility  
0
 
cursorWordPartRight  
 
cursorWordPartRightSelect  
 
cursorWordPartStartLeft  
 
cursorWordPartStartLeftSelect  
 
deleteWordPartLeft  
Backspace
 
deleteWordPartRight  
Backspace
 
editor.fold  
 
editor.unfold  
 
editor.action.moveLinesUpAction  
[
 
editor.action.moveLinesDownAction  
]
 
cursorHome  
 
cursorEnd  
 
editor.action.changeAll  
E
 
acceptSelectedSuggestion  
Enter
 
editor.action.insertCursorAbove  
 
editor.action.insertCursorBelow  
 
workbench.action.gotoLine  
L

 

{
  "name": "xcode-keybindings",
  "displayName": "Xcode Keymap",
  "description": "Popular Xcode keybindings for VS Code.",
  "version": "1.9.0",
  "publisher": "stevemoser",
  "homepage": "https://github.com/stevemoser/vscode-xcode-keybindings/#readme",
  "engines": {
  "vscode": "^1.6.0"
  },
  "categories": [
  "Keymaps"
  ],
  "keywords": [
  "Keymap",
  "Keybinding",
  "Swift",
  "ObjC",
  "Apple",
  "Mac",
  "Xcode"
  ],
  "repository": {
  "type": "git",
  "url": "https://github.com/stevemoser/vscode-xcode-keybindings.git"
  },
  "bugs": {
  "url": "https://github.com/stevemoser/vscode-xcode-keybindings/issues"
  },
  "preview": true,
  "icon": "xcode-keyboard.png",
  "contributes": {
  "keybindings": [
  {
  "key": "cmd+e",
  "command": "editor.action.addSelectionToNextFindMatch"
  },
  {
  "key": "cmd+shift+j",
  "command": "workbench.files.action.showActiveFileInExplorer"
  },
  {
  "key": "cmd+ctrl+up",
  "command": "C_Cpp.SwitchHeaderSource"
  },
  {
  "key": "shift+cmd+]",
  "command": "workbench.action.nextEditor"
  },
  {
  "key": "shift+cmd+[",
  "command": "workbench.action.previousEditor"
  },
  {
  "key": "cmd+shift+y",
  "command": "workbench.action.togglePanel"
  },
  {
  "key": "cmd+shift+o",
  "command": "workbench.action.quickOpen"
  },
  {
  "key": "ctrl+cmd+left",
  "command": "workbench.action.navigateBack"
  },
  {
  "key": "ctrl+cmd+right",
  "command": "workbench.action.navigateForward"
  },
  {
  "key": "cmd+1",
  "command": "workbench.view.explorer"
  },
  {
  "key": "cmd+2",
  "command": "workbench.view.search"
  },
  {
  "key": "cmd+3",
  "command": "workbench.view.scm"
  },
  {
  "key": "cmd+4",
  "command": "workbench.view.debug"
  },
  {
  "key": "cmd+5",
  "command": "workbench.view.extensions"
  },
  {
  "key": "cmd+r",
  "command": "workbench.action.debug.start",
  "when": "!inDebugMode"
  },
  {
  "key": "cmd+r",
  "command": "workbench.action.debug.restart",
  "when": "inDebugMode"
  },
  {
  "key": "cmd+.",
  "command": "workbench.action.debug.stop",
  "when": "inDebugMode"
  },
  {
  "key": "cmd+b",
  "command": "workbench.action.tasks.build"
  },
  {
  "key": "cmd+u",
  "command": "workbench.action.tasks.test"
  },
  {
  "key": "cmd+0",
  "command": "workbench.action.toggleSidebarVisibility"
  },
  {
  "key": "ctrl+right",
  "command": "cursorWordPartRight",
  "when": "textInputFocus"
  },
  {
  "key": "shift+ctrl+right",
  "command": "cursorWordPartRightSelect",
  "when": "textInputFocus"
  },
  {
  "key": "ctrl+left",
  "command": "cursorWordPartStartLeft",
  "when": "textInputFocus"
  },
  {
  "key": "shift+ctrl+left",
  "command": "cursorWordPartStartLeftSelect",
  "when": "textInputFocus"
  },
  {
  "key": "ctrl+backspace",
  "command": "deleteWordPartLeft",
  "when": "textInputFocus && !editorReadonly"
  },
  {
  "key": "shift+ctrl+backspace",
  "command": "deleteWordPartRight",
  "when": "textInputFocus && !editorReadonly"
  },
  {
  "key": "alt+cmd+left",
  "command": "editor.fold"
  },
  {
  "key": "alt+cmd+right",
  "command": "editor.unfold"
  },
  {
  "key": "alt+cmd+[",
  "command": "editor.action.moveLinesUpAction"
  },
  {
  "key": "alt+cmd+]",
  "command": "editor.action.moveLinesDownAction"
  },
  {
  "key": "alt+up",
  "command": "cursorHome",
  "when": "textInputFocus"
  },
  {
  "key": "alt+down",
  "command": "cursorEnd",
  "when": "textInputFocus"
  },
  {
  "key": "ctrl+cmd+e",
  "command": "editor.action.changeAll",
  "when": "editorTextFocus && !editorReadonly"
  },
  {
  "key": "enter",
  "command": "acceptSelectedSuggestion",
  "when": "editorTextFocus && suggestWidgetVisible"
  },
  {
  "key": "ctrl+shift+up",
  "command": "editor.action.insertCursorAbove",
  "when": "editorTextFocus"
  },
  {
  "key": "ctrl+shift+down",
  "command": "editor.action.insertCursorBelow",
  "when": "editorTextFocus"
  },
  {
  "key": "cmd+l",
  "command": "workbench.action.gotoLine",
  "when": "textInputFocus"
  }
  ]
  },
  "scripts": {
  "postinstall": "node ./node_modules/vscode/bin/install"
  },
  "devDependencies": {
  "vscode": "^1.0.0"
  },
  "dependencies": {
  "jsonfile": "^5.0.0"
  }
  }

'{3D} 가상 세계' 카테고리의 다른 글

File System Basics  (0) 2022.05.26
Package Dependencies  (0) 2022.04.25
Security  (0) 2022.03.06
fortify  (0) 2022.03.06
댓글 욕 필터링 예제  (0) 2022.03.06

DEVICE SECURITY COMPROMISED

 

CheckDeviceCoordinator

    private func checkDevice() {

        let deviceChecker = CheckDeviceCoordinator(

                navigationController: navigationController,

                jailbreakChecker: DeviceChecker()

        )

 

        deviceChecker.start()

 

        addCoordinator(deviceChecker)

    }

 

 

 

class DeviceChecker: JailbreakChecker {

    var isJailbroken: Bool {

        if TARGET_IPHONE_SIMULATOR == 1 {

            return false

        }

 

        let list: [String] = [

            "/Applications/Cydia.app",

            "/Library/MobileSubstrate/MobileSubstrate.dylib",

            "/bin/bash",

            "/usr/sbin/sshd",

            "/etc/apt",

            "/private/var/lib/apt/",

        ]

 

        return !list.filter { FileManager.default.fileExists(atPath: $0) }.isEmpty

    }

}

 

 

 

 

emailListPromptMessage

 

receiveEmailSelected

@objc private func

 

 

 

 

    func didFinish(in viewController: CollectUsersEmailViewController, email: String) {

        if email.isEmpty {

            logEmailNewsletterSubscription(isSubscribed: false)

        } else {

            EmailList(listSpecificKey: Constants.Credentials.mailChimpListSpecificKey).subscribe(email: email)

            logEmailNewsletterSubscription(isSubscribed: true)

        }

    }

 

 

 

class EmailList {

    private let listSpecificKey: String

 

    init(listSpecificKey: String) {

        self.listSpecificKey = listSpecificKey

    }

 

    ///We skip email validation since MailChimp does it, and this is low volume

    func subscribe(email: String) {

        guard Features.isPromptForEmailListSubscriptionEnabled else { return }

        do {

            try Mailchimp.initialize(token: listSpecificKey, autoTagContacts: true, debugMode: false)

            var contact: Contact = Contact(emailAddress: email)

            contact.status = .subscribed

            Mailchimp.createOrUpdate(contact: contact)

        } catch {

            //TODO log to remote server

            //no-op

        }

    }

}

 

 

'{3D} 가상 세계' 카테고리의 다른 글

Package Dependencies  (0) 2022.04.25
Xcode shortcuts for VS code  (0) 2022.03.07
fortify  (0) 2022.03.06
댓글 욕 필터링 예제  (0) 2022.03.06
TrueDepth API notice 20220306 backups  (0) 2022.03.06

+ Recent posts