diff --git a/src/main/java/org/apache/myfaces/extensions/scripting/cdi/compiler/Jsr199Compiler.java b/src/main/java/org/apache/myfaces/extensions/scripting/cdi/compiler/Jsr199Compiler.java
index d960480..add884f 100644
--- a/src/main/java/org/apache/myfaces/extensions/scripting/cdi/compiler/Jsr199Compiler.java
+++ b/src/main/java/org/apache/myfaces/extensions/scripting/cdi/compiler/Jsr199Compiler.java
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 package org.apache.myfaces.extensions.scripting.cdi.compiler;
 
 import org.apache.commons.logging.Log;
diff --git a/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/CdiReloadingListener.java b/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/CdiReloadingListener.java
index d99d198..4ab6bc2 100644
--- a/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/CdiReloadingListener.java
+++ b/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/CdiReloadingListener.java
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 package org.apache.myfaces.extensions.scripting.cdi.context;
 
 import org.apache.myfaces.extensions.scripting.cdi.compiler.CompilerFactory;
diff --git a/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/CompilationResourceMonitor.java b/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/CompilationResourceMonitor.java
index 0d2dcc5..6aa4750 100644
--- a/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/CompilationResourceMonitor.java
+++ b/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/CompilationResourceMonitor.java
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 package org.apache.myfaces.extensions.scripting.cdi.context;
 
 import org.apache.myfaces.extensions.scripting.cdi.compiler.CompilationException;
diff --git a/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/OpenWebBeansReloadingListener.java b/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/OpenWebBeansReloadingListener.java
index e66a898..2509edd 100644
--- a/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/OpenWebBeansReloadingListener.java
+++ b/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/OpenWebBeansReloadingListener.java
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 package org.apache.myfaces.extensions.scripting.cdi.context;
 
 import org.apache.myfaces.extensions.scripting.cdi.loaders.ClassReloadingListener;
diff --git a/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/ReloadingBeanManager.java b/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/ReloadingBeanManager.java
index 96b3b5c..75d2cb2 100644
--- a/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/ReloadingBeanManager.java
+++ b/src/main/java/org/apache/myfaces/extensions/scripting/cdi/context/ReloadingBeanManager.java
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 package org.apache.myfaces.extensions.scripting.cdi.context;
 
 import org.apache.commons.logging.Log;
