Unable locate installable unit in target definition

我们两清 提交于 2019-12-09 16:09:34

问题


I created my own target definition. It worked perfectly until now. Today I opened this target definition and got following error for all software sites I have there:

Unable to locate installable unit <unit name>

The target definition file looks like this:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.6"?>

<target name="indigo" sequenceNumber="20">
<locations>
<location includeAllPlatforms="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.zest.feature.group" version="1.3.0.v20110425-2050-67A18yF6F18CBD5A7N54242"/>
<unit id="org.eclipse.zest.sdk.feature.group" version="1.3.0.v20110425-2050-67C18COMPIAKSVKGQaRTQTiSN8WP"/>
<unit id="org.eclipse.zest.source.feature.group" version="1.3.0.v20110425-2050-67A18yF6F18CBD5A7N54242"/>
<repository location="http://download.eclipse.org/releases/indigo"/>
</location>
<location includeAllPlatforms="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.jdt.feature.group" version="3.7.2.v20120120-1414-7z8gFcuFMP7BW5XTz0jLTnz0l9B1"/>
<unit id="org.eclipse.jdt.source.feature.group" version="3.7.2.v20120120-1414-7z8gFcuFMP7BW5XTz0jLTnz0l9B1"/>
<unit id="org.eclipse.pde.source.feature.group" version="3.7.2.v20120120-1420-7b7rFUOFEx2Xnqafnpz0E--0"/>
<unit id="org.eclipse.platform.sdk" version="3.7.2.M20120208-0800"/>
<unit id="org.eclipse.rcp.id" version="3.7.2.M20120208-0800"/>
<unit id="org.eclipse.rcp.sdk.id" version="3.7.2.M20120208-0800"/>
<repository location="http://download.eclipse.org/eclipse/updates/3.7"/>
</location>
<location includeAllPlatforms="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.egit.feature.group" version="1.3.0.201202151440-r"/>
<unit id="org.eclipse.egit.source.feature.group" version="1.3.0.201202151440-r"/>
<unit id="org.eclipse.jgit.feature.group" version="1.3.0.201202151440-r"/>
<unit id="org.eclipse.jgit.source.feature.group" version="1.3.0.201202151440-r"/>
<repository location="http://download.eclipse.org/egit/updates"/>
</location>
<location path="${project_loc}/lib" type="Directory"/>
<location includeAllPlatforms="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.tmatesoft.svnkit.feature.group" version="1.7.4.t20120412_2022"/>
<repository location="http://eclipse.svnkit.com/1.7.x"/>
</location>
<location path="${project_loc}/lib/deltapack" type="Profile"/>
</locations>
</target>

回答1:


This is a known issue with Eclipse, and unfortunately, there is no clear solution. Things that may fix this:

  • Restart Eclipse
  • Select all entries and hit "Reload"
  • Restart Eclipse with the -clean command line option (no worries, does not erase workspace)
  • Select an entry and open it (hit "Add..."). The old selection will be lost, so you have to reselect it. Upon closing, the target platform will be reloaded, and with a little luck everything, not just the update site that you just edited.
  • The nuclear option: Delete the .metadata folder in your workspace - you'll have to setup your workspace again.



回答2:


For me editing the .target file manually and increasing the sequenceNumber attribute worked every time (so far).




回答3:


You could also ty to delete the P2 pool directory. On Linux this is usually found under your home directory in folder .p2/pool.




回答4:


I pared down your target definition to one of the sites (eclipse/updates/3.7) and the target resolved correctly.

The errors you are getting mean that the site you are trying to download from do not have the content you are asking for. This may mean that you are asking for a unit or version that no longer exists on the site or it may mean the site is not accessible.




回答5:


Today i had that same issue and I did the following things.

  • I deleted my ".m2/repositories" folder in the user directory.
  • After that I tried to update all softwaresites within the *.target file.

Then an error occured that another repository on my nexus was missing.

  • First I deleted this repository from the *.target file manually and updated it again.

The unable to locate installable unit <unit name> error was gone. Then I fixed the problem with the missing repository and everything seems fine. I hope that this will help.



来源:https://stackoverflow.com/questions/10547007/unable-locate-installable-unit-in-target-definition

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!