<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
    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.

--><mediawiki xmlns="http://www.mediawiki.org/xml/export-0.3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="0.3" xml:lang="en" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.3/ http://www.mediawiki.org/xml/export-0.3.xsd">
  <siteinfo>
    <sitename>NetBeans Wiki</sitename>
    <base>http://wiki.netbeans.org/Main_Page</base>
    <generator>MediaWiki 1.15.1</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2">Media</namespace>
      <namespace key="-1">Special</namespace>
      <namespace key="0"/>
      <namespace key="1">Talk</namespace>
      <namespace key="2">User</namespace>
      <namespace key="3">User talk</namespace>
      <namespace key="4">NetBeans Wiki</namespace>
      <namespace key="5">NetBeans Wiki talk</namespace>
      <namespace key="6">File</namespace>
      <namespace key="7">File talk</namespace>
      <namespace key="8">MediaWiki</namespace>
      <namespace key="9">MediaWiki talk</namespace>
      <namespace key="10">Template</namespace>
      <namespace key="11">Template talk</namespace>
      <namespace key="12">Help</namespace>
      <namespace key="13">Help talk</namespace>
      <namespace key="14">Category</namespace>
      <namespace key="15">Category talk</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>DevFaqTroubleshootMissingItemsInZippedSources</title>
    <id>7489</id>
    <revision>
      <id>32784</id>
      <timestamp>2010-01-24T02:31:21Z</timestamp>
      <contributor>
        <username>Tboudreau</username>
        <id>108</id>
      </contributor>
      <text xml:space="preserve">__NOTOC__
===I find files missing from the source ZIP file===

If you've downloaded and unpacked the ZIP file containing NetBeans sources but find that it seems incomplete, try using another application to unpack the ZIP file.  It seems that the popular WinZip application cannot properly handle this file.

The [http://www.7-zip.org/ 7-Zip application] is free, open source and is known to correctly handle the NetBeans ZIP sources.  

[http://www.info-zip.org/ Info-ZIP] is a free command-line unzip utility for Windows and OS/2 which has been around for more than a decade.

Alternatively, you could write a simple Ant script to use the &lt;tt&gt;unzip&lt;/tt&gt; task for decompressing the archive, or use a ported version of a Unix unzip utility for Windows.</text>
    </revision>
  </page>
</mediawiki>
