Jump to content

Jasper server silent install but logs 'Current system user is unable to access keystore file or file doesn't exist'


brianzkee870

Recommended Posts

I am installing the jasper server in silent mode but after starting the services it is Not Found (404). The tomcat server is up as I check. It seems the jasper server wasn't configured and deployed correctly when running the silent install. Here is my silent install config which I ran in the commandline: 


> TIB_js-jrs-cp_7.8.0_win_x86_64.exe --optionfile options.txt

My options.txt contents: 


unattendedmodeui=minimal
mode=unattended
installer-language=en
jasperLicenseAccepted=yes
prefix=C:Jaspersoftjasperreports-server-cp-7.8.0
chromium_folder_windows=
chromium_folder_unix=
tomcat_installation_type=bundled
postgres_installation_type=bundled
postgres_locale=en
tomcat_server_port=8031
tomcat_server_shutdown_port=8005
postgres_port=5432
jasperserver_install_sampledata=0

It installs successfully but when I start the jasper server it is Not Found (404). But the tomcat server is there and the jasper server in the tomcat manager wasn't deployed. Whenever I try to manually deploy it, the server rejects it. I also tried installing it manually with the same options and it works this time. I compared the installation.log of both silent install and the manual installation. A noticeable difference is that, down the bottom of my manual installation there is additional logs such as this:

Log finished 07/19/2021 at 14:26:16
[14:31:33] Configuring webapp keystore properties. Source C:Jaspersoftjasperreports-server-cp-7.8.0/buildomatic/keystore.init.properties
[14:31:33] Buildomatic working dir C:Jaspersoftjasperreports-server-cp-7.8.0/buildomatic
Executing C:Jaspersoftjasperreports-server-cp-7.8.0/servicerun.bat START
Script exit code: 0
Script output:
Script stderr:
Launching http://localhost:8031/jasperserver
Exiting with code 0

However this particular logs doesn't exist in my silent installation method.
Note that both installations and its parameters are the same when I performed it. The bottomline is that manual installation works. The only difference is that in my silent installation when I am starting the jasper server from tomcat my jasperserver.log file produces this error:

2021-07-19T10:39:43,118  WARN KeystoreManager(Initialization),localhost-startStop-2:175 - Current system user is unable to access keystore file or file doesn't exist
2021-07-19T10:39:43,269 ERROR ContextLoader,localhost-startStop-2:350 - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'themeSource' defined in ServletContext resource [/WEB-INF/applicationContext-themes.xml]: Cannot resolve reference to bean 'themeCache' while setting bean property 'themeCache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'themeCache' defined in ServletContext resource [/WEB-INF/applicationContext-themes.xml]: Cannot resolve reference to bean 'unsecureRepositoryService' while setting bean property 'repositoryService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateRepositoryService' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean 'hibernateRepositoryListeners' while setting bean property 'repositoryListeners'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateRepositoryListeners' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean 'schedulingReportDeleteListener' while setting constructor argument with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'schedulingReportDeleteListener' defined in ServletContext resource [/WEB-INF/applicationContext-report-scheduling.xml]: Cannot resolve reference to bean 'reportSchedulingService' while setting bean property 'schedulingService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reportSchedulingService' defined in ServletContext resource [/WEB-INF/applicationContext-report-scheduling.xml]: Cannot resolve reference to bean 'securedReportJobsPersistenceService' while setting bean property 'persistenceService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securedReportJobsPersistenceService': FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reportJobSecurity' defined in ServletContext resource [/WEB-INF/applicationContext-report-scheduling.xml]: Cannot resolve reference to bean 'authenticationManager' while setting bean property 'authenticationManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationManager' defined in ServletContext resource [/WEB-INF/applicationContext-security.xml]: Cannot resolve reference to bean 'daoAuthenticationProvider' while setting constructor argument with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoAuthenticationProvider' defined in ServletContext resource [/WEB-INF/applicationContext-security.xml]: Cannot resolve reference to bean 'passwordEncoder' while setting bean property 'passwordEncoder'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'passwordEncoder': Unsatisfied dependency expressed through field 'keystoreManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'keystoreManager': Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1533)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1280)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1088)
    at org.springframework.ui.context.support.UiApplicationContextUtils.initThemeSource(UiApplicationContextUtils.java:58)
    at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.onRefresh(AbstractRefreshableWebApplicationContext.java:191)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:536)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4689)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5155)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1125)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1858)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    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)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'themeCache' defined in ServletContext resource [/WEB-INF/applicationContext-themes.xml]: Cannot resolve reference to bean 'unsecureRepositoryService' while setting bean property 'repositoryService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateRepositoryService' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean 'hibernateRepositoryListeners' while setting bean property 'repositoryListeners'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateRepositoryListeners' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean 'schedulingReportDeleteListener' while setting constructor argument with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'schedulingReportDeleteListener' defined in ServletContext resource [/WEB-INF/applicationContext-report-scheduling.xml]: Cannot resolve reference to bean 'reportSchedulingService' while setting bean property 'schedulingService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reportSchedulingService' defined in ServletContext resource [/WEB-INF/applicationContext-report-scheduling.xml]: Cannot resolve reference to bean 'securedReportJobsPersistenceService' while setting bean property 'persistenceService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securedReportJobsPersistenceService': FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reportJobSecurity' defined in ServletContext resource [/WEB-INF/applicationContext-report-scheduling.xml]: Cannot resolve reference to bean 'authenticationManager' while setting bean property 'authenticationManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationManager' defined in ServletContext resource [/WEB-INF/applicationContext-security.xml]: Cannot resolve reference to bean 'daoAuthenticationProvider' while setting constructor argument with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoAuthenticationProvider' defined in ServletContext resource [/WEB-INF/applicationContext-security.xml]: Cannot resolve reference to bean 'passwordEncoder' while setting bean property 'passwordEncoder'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'passwordEncoder': Unsatisfied dependency expressed through field 'keystoreManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'keystoreManager': Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError

My big question is, what went wrong with the silent installation? Attached is my full jasperserver.log from the silent installtion.
P.S. I also checked the keystore files located in my C:UsersAdmin it's there!

Link to comment
Share on other sites

  • 1 month later...
  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Hi brianz, 

I just noticed that when installing using

./TIB_js-jrs-cp_7.8.0_linux_x86_64.run --mode unattended --jasperLicenseAccepted yes --chromium_folder_windows c: --chromium_folder_unix /usr/var --prefix /home/ec2-user/jasperreports --postgres_installation_type bundled --tomcat_installation_type bundled

that the 

keystore.init.properties

was missing in the /apache-tomcat/webapps/jasperserver/WEB-INF/classes. By adding the file which can be found in the /buildautomatic to that path and starting tomcat, it worked.

***EDIT***

There's something mentioned about this in the "Additional Use Cases" https://community.jaspersoft.com/wiki/encryption-jasperreports-server-75 

Also when installing without silent mode, I noticed that the end of the log run the configs so this might be the step that the silent installation is missing.

Configuring webapp keystore properties. Source /home/ec2-user/jasperreports-server-cp-7.8.0/buildomatic/keystore.init.properties

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...