What causes a URI is not hierarchical error when starting Jazz Team Server 6.0 on Windows?
I have an RTC 6.0 Jazz Team Server running on a Windows Server 2008 system. We have a custom server plugin that is installed on that server. When that plugin is installed, the server does not start properly. The same plugin works fine on an RTC 6.0 JTS on Linux and it works fine on Windows on previous versions of RTC. The error I'm getting is
Exception in thread "Launch callback handler" java.lang.IllegalArgumentException
: URI is not hierarchical
at java.io.File.<init>(File.java:374)
at com.ibm.team.repository.provision.internal.ProvisionService.fixupRela
tiveFileUrl(ProvisionService.java:197)
at com.ibm.team.repository.provision.internal.ProvisionService.connect(P
rovisionService.java:245)
at com.ibm.team.repository.provision.internal.ProvisionService.installFr
omProfileProperties(ProvisionService.java:994)
at com.ibm.team.repository.provision.internal.ProvisionService.installFr
omProfiles(ProvisionService.java:1058)
Aug 3, 2015 3:14:24 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive C:\Program Files\IBM\JazzTeamServer_
6.0Take2\server\tomcat\webapps\ccm.war has finished in 119,657 ms
at com.ibm.team.repository.provision.internal.ProvisionService.installFr
omProfileNoWait(ProvisionService.java:1194)
at com.ibm.team.repository.provision.internal.ProvisionService.installFr
omProfile(ProvisionService.java:1131)
at com.ibm.team.repository.provision.internal.ProvisionService.installFr
omContextConfigurationUrl(ProvisionService.java:1213)
at com.ibm.team.jfs.app.install.Activator$1.run(Activator.java:177)
at java.lang.Thread.run(Thread.java:767)
The provision profile being used for the custom plugin contains the following:
url=file:C:\\Users\\IBM_ADMIN\\IBM\\SPoRTRTC_3\\Server
featureid=com.ibm.sport.rtc.retain.service.feature
One answer
The provision profile is completely wrong. You don't put in an absolute path for a ton of reasons and it points to the wrong location as well.
If you closely follow the Rational Team Concert Extensions Workshop you will notice the provision profile looks like.
url=file:ccm/sites/js_user_role_condition_provider
featureid=com.ibm.js.team.workitem.attribute.user.role.condition.providers.feature
Where ccm is the context root of this specific ccm application. You should always deploy in the sites folder and in there have your own folder with the extension.
If you closely follow the Rational Team Concert Extensions Workshop you will notice the provision profile looks like.
url=file:ccm/sites/js_user_role_condition_provider
featureid=com.ibm.js.team.workitem.attribute.user.role.condition.providers.feature
Where ccm is the context root of this specific ccm application. You should always deploy in the sites folder and in there have your own folder with the extension.