1

I am trying to add simple property in my local profile.

<profile>
  <id>local</id>
      <properties>
         <property>
           <name>localurl</name>  // line 111, column 27 is "l"                        
           <value>http://localhost:8080</value>
         </property>
       </properties>
</profile>

When I clean the project, I get the following error.

TEXT must be immediately followed by END_TAG and not START_TAG
(position: START_TAG seen ...<property>\n                    <name>...
@111:27)  @ line 111, column 27

I mentioned line number in the above profile snippet. I am not sure why this is happening. I am using maven 3.3.3 and Java 1.8.

I have searched few articles and this question in stackoverflow but it did not help much.

Any idea why this error is coming?

EDIT If I comment the <property> part, this error does not come.

This is my 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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.springframework</groupId>
    <artifactId>gs-messaging-stomp-websocket</artifactId>
    <version>0.1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.4.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-messaging</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectreactor</groupId>
            <artifactId>reactor-core</artifactId>
            <version>1.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.projectreactor</groupId>
            <artifactId>reactor-tcp</artifactId>
            <version>1.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.projectreactor</groupId>
            <artifactId>reactor-net</artifactId>
            <version>1.1.6.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>2.9.0</version>
        </dependency>

        <!-- Spring caching framework inside this -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>

        <!-- Support for Ehcache and others -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-stubs</artifactId>
            <version>1.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.3.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.3.6</version>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20090211</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.3</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.3</version>
        </dependency>
    </dependencies>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>

            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>local</id>
            <properties>
                <property>
                    <name>localurl</name>
                    <value>http://localhost:8080</value>
                </property>
            </properties>
        </profile>
    </profiles>
</project> 

This is the stack trace I get when I run mvn clean -e

[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-parseable POM /Users/karthik/IdeaProjects/Messages/pom.xml: TEXT must be immediately followed by END_TAG and not START_TAG (position: START_TAG seen ...<property>\n                    <name>... @111:27)  @ line 111, column 27
 @ 
[ERROR] The build could not read 1 project -> [Help 1]
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[FATAL] Non-parseable POM /Users/karthik/IdeaProjects/Messages/pom.xml: TEXT must be immediately followed by END_TAG and not START_TAG (position: START_TAG seen ...<property>\n                    <name>... @111:27)  @ line 111, column 27

        at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:422)
        at org.apache.maven.graph.DefaultGraphBuilder.collectProjects(DefaultGraphBuilder.java:419)
        at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor(DefaultGraphBuilder.java:410)
        at org.apache.maven.graph.DefaultGraphBuilder.build(DefaultGraphBuilder.java:83)
        at org.apache.maven.DefaultMaven.buildGraph(DefaultMaven.java:491)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:219)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
        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:497)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
[ERROR]   
[ERROR]   The project  (/Users/karthik/IdeaProjects/Messages/pom.xml) has 1 error
[ERROR]     Non-parseable POM /Users/karthik/IdeaProjects/Messages/pom.xml: TEXT must be immediately followed by END_TAG and not START_TAG (position: START_TAG seen ...<property>\n                    <name>... @111:27)  @ line 111, column 27 -> [Help 2]
org.apache.maven.model.io.ModelParseException: TEXT must be immediately followed by END_TAG and not START_TAG (position: START_TAG seen ...<property>\n                    <name>... @111:27) 
        at org.apache.maven.model.io.DefaultModelReader.read(DefaultModelReader.java:130)
        at org.apache.maven.model.io.DefaultModelReader.read(DefaultModelReader.java:94)
        at org.apache.maven.model.building.DefaultModelProcessor.read(DefaultModelProcessor.java:81)
        at org.apache.maven.model.building.DefaultModelBuilder.readModel(DefaultModelBuilder.java:529)
        at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:269)
        at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:469)
        at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:438)
        at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:401)
        at org.apache.maven.graph.DefaultGraphBuilder.collectProjects(DefaultGraphBuilder.java:419)
        at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor(DefaultGraphBuilder.java:410)
        at org.apache.maven.graph.DefaultGraphBuilder.build(DefaultGraphBuilder.java:83)
        at org.apache.maven.DefaultMaven.buildGraph(DefaultMaven.java:491)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:219)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
        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:497)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.codehaus.plexus.util.xml.pull.XmlPullParserException: TEXT must be immediately followed by END_TAG and not START_TAG (position: START_TAG seen ...<property>\n                    <name>... @111:27) 
        at org.codehaus.plexus.util.xml.pull.MXParser.nextText(MXParser.java:1101)
        at org.apache.maven.model.io.xpp3.MavenXpp3ReaderEx.parseProfile(MavenXpp3ReaderEx.java:3511)
        at org.apache.maven.model.io.xpp3.MavenXpp3ReaderEx.parseModel(MavenXpp3ReaderEx.java:2532)
        at org.apache.maven.model.io.xpp3.MavenXpp3ReaderEx.read(MavenXpp3ReaderEx.java:4350)
        at org.apache.maven.model.io.xpp3.MavenXpp3ReaderEx.read(MavenXpp3ReaderEx.java:560)
        at org.apache.maven.model.io.DefaultModelReader.read(DefaultModelReader.java:121)
        ... 25 more
Community
  • 1
  • 1
Karthik
  • 4,950
  • 6
  • 35
  • 65
  • can you post the complete pom file please. – Jens Jul 27 '15 at 11:55
  • @Jens would it make any difference? because if I comment this `property` part, it works fine. – Karthik Jul 27 '15 at 11:57
  • But the problem can be some lines before. – Jens Jul 27 '15 at 11:59
  • Can you try `http://localhost:8080` ? – Peter Lawrey Jul 27 '15 at 12:01
  • You have a "" after escape comments:"//". This is because you have "//" embedded in the URL. You should escape the "//" in the URL, – rossum Jul 27 '15 at 12:02
  • @rossum I have tried `http://localhost:8080`, even then I was getting the error. I was thinking `//` in quotes will be considered as comments. Is it wrong? – Karthik Jul 27 '15 at 12:08
  • @PeterLawrey I have tried that. I still get the same error. – Karthik Jul 27 '15 at 12:08
  • @karthik it can't be exactly the same as the text is different. Can you show us what error you get instead? – Peter Lawrey Jul 27 '15 at 12:12
  • I meant to say `TEXT must be immediately followed by END_TAG and not START_TAG` is same sir. My original error was saying `START_TAG seen ...`, when I added what you have suggested, the error was ` START_TAG seen ....` – Karthik Jul 27 '15 at 12:15

2 Answers2

1

If I do

<properties>
    <localurl>http://localhost:8080</localurl>
</properties>

or

<profiles>
    <profile>
        <id>local</id>
        <properties>
            <localurl>http://localhost:8080</localurl>
        </properties>
    </profile>
</profiles>

These work fine.

Peter Lawrey
  • 525,659
  • 79
  • 751
  • 1,130
  • 1
    Sorry sir, it worked fine now. I had an extra `property` tag when you have suggested and it was actually complaining about that. Thank you. – Karthik Jul 27 '15 at 12:31
  • 1
    @karthik maven is not smart enough to realise you don't want to define a property called "property" ;) – Peter Lawrey Jul 27 '15 at 12:33
0

There is no <property> tag there, it should be just <name>value</name>. What IDE are you using? All of them should suggest only valid tags when editing XML file based on schema.

user158037
  • 2,659
  • 1
  • 24
  • 27