apache / apache/maven-archetype
[ARCHETYPE-629] Lexical Error when archetype-resource contains excel file
- Dominant language
- Java
- Stars
- 148
- Forks
- 181
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 8
Description
**[Deepak](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=JIRAUSER289216)** opened **[ARCHETYPE-629](https://issues.apache.org/jira/browse/ARCHETYPE-629?redirect=false)** and commented
I have created an archetype where my archetype-resources under src/main/resources contains an template excel that will get copied when a project will be created out of it. While executing the archetype:generate on this, it throws lexical error while creating the excel file.
Exception Trace:
```java
[ERROR] ResourceManager.getResource() parse exception
org.apache.velocity.exception.ParseErrorException: Lexical error, Encountered: "\ufffd" (65533), after : "" at archetype-resources/src/test/resources/XYZZ.xlsx[line 50, column 138]
at org.apache.velocity.Template.process (Template.java:151)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource (ResourceManagerImpl.java:437)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource (ResourceManagerImpl.java:352)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate (RuntimeInstance.java:1533)
at org.apache.velocity.app.VelocityEngine.mergeTemplate (VelocityEngine.java:343)
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processTemplate (DefaultFilesetArchetypeGenerator.java:715)
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processFileSet (DefaultFilesetArchetypeGenerator.java:513)
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processTemplates (DefaultFilesetArchetypeGenerator.java:758)
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processArchetypeTemplates (DefaultFilesetArchetypeGenerator.java:487)
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processFilesetProject (DefaultFilesetArchetypeGenerator.java:605)
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processFilesetModule (DefaultFilesetArchetypeGenerator.java:538)
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.generateArchetype (DefaultFilesetArchetypeGenerator.java:206)
at org.apache.maven.archetype.generator.DefaultArchetypeGenerator.processFileSetArchetype (DefaultArchetypeGenerator.java:133)
at org.apache.maven.archetype.generator.DefaultArchetypeGenerator.generateArchetype (DefaultArchetypeGenerator.java:104)
at org.apache.maven.archetype.generator.DefaultArchetypeGenerator.generateArchetype (DefaultArchetypeGenerator.java:148)
at org.apache.maven.archetype.generator.DefaultArchetypeGenerator.generateArchetype (DefaultArchetypeGenerator.java:163)
at org.apache.maven.archetype.DefaultArchetypeManager.generateProjectFromArchetype (DefaultArchetypeManager.java:75)
at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute (CreateProjectFromArchetypeMojo.java:211)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
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:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
```
---
**Affects:** 3.2.1
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with DefaultFilesetArchetypeGenerator.processTemplate and processTemplates, then reproduce the failure with archetype:generate using an .xlsx file under archetype-resources. Determine how binary resources are distinguished from Velocity templates; done means the Excel file is copied without a lexical error while ordinary templates still process correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100