You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Mowreed <mo...@gmail.com> on 2007/11/03 03:54:40 UTC

Embedding DTD entities in POM files

Hello,

I am trying to embed DTD Entities in the POM files. Is this supported? If
not, is there a plan to support this in 2.1 or future release?

Here is my simple example-

--- POM.XML ---
<?xml version="1.0"?>

<!DOCTYPE project [
  <!ENTITY SheBang SYSTEM 'file:MYDTD.XML'>
]>

<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
http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  &SheBang;
</project>
--- END (POM.XML) ---

--- MYDTD.XML ---
  <name>my-app</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
--- END (MYDTD.XML) ---



When I run mvn clean install, I get exception-

--- SNIP ---
[INFO] Scanning for projects...
[INFO]
------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).


Project ID: unknown
POM Location: C:\Temp\wkspace\test\my-app\pom.xml

Reason: Parse error reading POM. Reason: could not resolve entity named
'SheBang' (position: END_TAG seen ...</version>\r\n  &SheBang;... @14:12) 
for project unknown at C:\Temp\wkspace\test\my-app\pom.xml


[INFO]
------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Parse error reading POM.
Reason: could not resolve entity named 'SheBang' (position: END_TAG seen
...</version>\r\n  &SheBang;... @14:12)  for project unknown at
C:\Temp\wkspace\test\my-app\pom.xml
	at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:290)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.InvalidProjectModelException: Parse
error reading POM. Reason: could not resolve entity named 'SheBang'
(position: END_TAG seen ...</version>\r\n  &SheBang;... @14:12)  for project
unknown at C:\Temp\wkspace\test\my-app\pom.xml
	at
org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1422)
	at
org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1379)
	at
org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:477)
	at
org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
	at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:553)
	at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:467)
	at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:364)
	... 11 more
Caused by: org.codehaus.plexus.util.xml.pull.XmlPullParserException: could
not resolve entity named 'SheBang' (position: END_TAG seen ...</version>\r\n 
&SheBang;... @14:12) 
	at org.codehaus.plexus.util.xml.pull.MXParser.nextImpl(MXParser.java:1279)
	at org.codehaus.plexus.util.xml.pull.MXParser.next(MXParser.java:1090)
	at
org.apache.maven.model.io.xpp3.MavenXpp3Reader.parseModel(MavenXpp3Reader.java:2394)
	at
org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:4422)
	at
org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1418)
	... 17 more
[INFO]
------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Fri Nov 02 19:50:49 PDT 2007
[INFO] Final Memory: 1M/4M
[INFO]
------------------------------------------------------------------------
--- SNIP ---
-- 
View this message in context: http://www.nabble.com/Embedding-DTD-entities-in-POM-files-tf4741736s177.html#a13559471
Sent from the Maven - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Embedding DTD entities in POM files

Posted by Wayne Fay <wa...@gmail.com>.
No, this is not currently supported, nor is support likely in the future.

But there have been discussions on dev@ about adding "pom mixins"
which would give you more or less the same functionality. Search the
archives for "mixin" -- you're bound to find it.

Wayne

On 11/2/07, Mowreed <mo...@gmail.com> wrote:
>
> Hello,
>
> I am trying to embed DTD Entities in the POM files. Is this supported? If
> not, is there a plan to support this in 2.1 or future release?
>
> Here is my simple example-
>
> --- POM.XML ---
> <?xml version="1.0"?>
>
> <!DOCTYPE project [
>  <!ENTITY SheBang SYSTEM 'file:MYDTD.XML'>
> ]>
>
> <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
> http://maven.apache.org/maven-v4_0_0.xsd">
>  <modelVersion>4.0.0</modelVersion>
>  <groupId>com.mycompany.app</groupId>
>  <artifactId>my-app</artifactId>
>  <packaging>jar</packaging>
>  <version>1.0-SNAPSHOT</version>
>  &SheBang;
> </project>
> --- END (POM.XML) ---
>
> --- MYDTD.XML ---
>  <name>my-app</name>
>  <url>http://maven.apache.org</url>
>  <dependencies>
>    <dependency>
>      <groupId>junit</groupId>
>      <artifactId>junit</artifactId>
>      <version>3.8.1</version>
>      <scope>test</scope>
>    </dependency>
>  </dependencies>
> --- END (MYDTD.XML) ---
>
>
>
> When I run mvn clean install, I get exception-
>
> --- SNIP ---
> [INFO] Scanning for projects...
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Error building POM (may not be this project's POM).
>
>
> Project ID: unknown
> POM Location: C:\Temp\wkspace\test\my-app\pom.xml
>
> Reason: Parse error reading POM. Reason: could not resolve entity named
> 'SheBang' (position: END_TAG seen ...</version>\r\n  &SheBang;... @14:12)
> for project unknown at C:\Temp\wkspace\test\my-app\pom.xml
>
>
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Trace
> org.apache.maven.reactor.MavenExecutionException: Parse error reading POM.
> Reason: could not resolve entity named 'SheBang' (position: END_TAG seen
> ...</version>\r\n  &SheBang;... @14:12)  for project unknown at
> C:\Temp\wkspace\test\my-app\pom.xml
>        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:290)
>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.maven.project.InvalidProjectModelException: Parse
> error reading POM. Reason: could not resolve entity named 'SheBang'
> (position: END_TAG seen ...</version>\r\n  &SheBang;... @14:12)  for project
> unknown at C:\Temp\wkspace\test\my-app\pom.xml
>        at
> org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1422)
>        at
> org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1379)
>        at
> org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:477)
>        at
> org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
>        at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:553)
>        at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:467)
>        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:364)
>        ... 11 more
> Caused by: org.codehaus.plexus.util.xml.pull.XmlPullParserException: could
> not resolve entity named 'SheBang' (position: END_TAG seen ...</version>\r\n
> &SheBang;... @14:12)
>        at org.codehaus.plexus.util.xml.pull.MXParser.nextImpl(MXParser.java:1279)
>        at org.codehaus.plexus.util.xml.pull.MXParser.next(MXParser.java:1090)
>        at
> org.apache.maven.model.io.xpp3.MavenXpp3Reader.parseModel(MavenXpp3Reader.java:2394)
>        at
> org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:4422)
>        at
> org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1418)
>        ... 17 more
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: < 1 second
> [INFO] Finished at: Fri Nov 02 19:50:49 PDT 2007
> [INFO] Final Memory: 1M/4M
> [INFO]
> ------------------------------------------------------------------------
> --- SNIP ---
> --
> View this message in context: http://www.nabble.com/Embedding-DTD-entities-in-POM-files-tf4741736s177.html#a13559471
> Sent from the Maven - Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org